3.利用jasp进行dom方式解析
2015-08-02 12:59
579 查看
思路:利用jasp进行dom方式解析
《基本操作就这些,必须会》
1,得到解析工厂DocumentBuilderFactory
DocumentBuilderFactory
factory=DocumentBuilderFactory.newInstance();
2, 得到解析器 DocumentBuilder
DocumentBuilder
builder=factory.newDocumentBuilder();
3,解析指定的xml文档,得到代表内存dom树的document对象
Document document=builder.paser("xx.xml");
练习:
(1)得到某个具体的节点内容,打印第2本书的作者
public static void
test1(Document document)
{
//根据标签名称获取所有的作者元素
NodeList n1=document.getElementByTagName("");
//按照索引取第二个作者元素
Node node=n1.item(1);
//打印文本元素
String text=node.getTextContent();
System.out.println(text);
}
(2).遍历所有元素节点,打印元素的名称
public static void
test2(Document document)
{
//判断当前节点是不是一个元素节点
//short type=node.getNodeType();
if(node.getNodeType()==Node.ELEMENT_NODE)
{
//如果是,打印他的名称
System.out.println(node.getNodeName());
}
//如果不是,找到他的孩子们
NodeList
n1=node.getChildNodes();
int
len=n1.getLength();
for(int
i=0;i
{
//遍历孩子:递归
Node n =n1.item(i);
test2(n);
}
}
3,修改某个元素节点的主题内容,把第一本书的售价改为xx
public static void test3(Document document)
{
//找到第一本书的售价
NodeList
na=document.getElementByTagName("");
//设置其主体的内容
Node node=na.item(0);
node.setTextContext("xx");
TransformerFactory
facotry=TransformerFactory.newInstance();
Transformer
ts=factry.newTransformer();
ts.transform(new
DOMSource(document),new StreamResult("文件地址"));
}
4.向指定元素节点中增加子元素节点,
public static void test4(Document
doucment)
{
//创建一个新的元素并设置其主题内容
Element e=document.createElement_x("内部价");
e.setTextContext("00");
//找到第一个对象,改变第一个对象
Node
firstBookNode=document.getElementsByTagName_r("书").item(0);
fristBookNode.appendChild(e);
//把内存中的Document 树写回xml文件中
TransformerFactory facotry=TransformerFactory.newInstance();
Transformer
ts=factry.newTransformer();
ts.transform(new DOMSource(document),new
StreamResult("文件地址"));
}
5.向指定元素节点上增加同级元素节点(改变顺序)
public static void test5(Document document)
{
//创建一个新的元素并设置其中的主题内容
Element e=document.createElent("");
e.setTextContent("00");
//找到第一对象
Node
duixiang=document.getElementByTagName("添加的标签").item(0);
//添加顺序改变(其实就是插入的位置)
duixiang.getParentNode().insertBefore(e.duixiang);
//把内存中的Document
树写回xml文件中
TransformerFactory facotry=TransformerFactory.newInstance();
Transformer
ts=factry.newTransformer();
ts.transform(new DOMSource(document),new StreamResult("文件地址"));
}
6.删除指定元素节点:删除内部价
public static void test6(Document document)
{
//找到节点,用父删除
Node
n=document.getElementsByTagName_r("xx").item(0);
n.getParentNode().removeChild(n);
//把内存中的Document 树写回xml文件中
TransformerFactory facotry=TransformerFactory.newInstance();
Transformer
ts=factry.newTransformer();
ts.transform(new DOMSource(document),new
StreamResult("文件地址"));
}
7.操作xml文件属性,打印第一本书的出版社
public static void test7(Document
document)
{
//得到对象
Node
n=document.getElementByTagName("").item(0);
//打印指的的属性取值
Element e=(Element)n;
}
8.给对象添加属性
public static void
test8(Document document)
{
//得到对象
Node
n=document.getElementByTagName("").item(0);
//打印指的的属性取值
Element e=(Element)n;
e.setAttrubute("属性名","内容");
}
《基本操作就这些,必须会》
1,得到解析工厂DocumentBuilderFactory
DocumentBuilderFactory
factory=DocumentBuilderFactory.newInstance();
2, 得到解析器 DocumentBuilder
DocumentBuilder
builder=factory.newDocumentBuilder();
3,解析指定的xml文档,得到代表内存dom树的document对象
Document document=builder.paser("xx.xml");
练习:
(1)得到某个具体的节点内容,打印第2本书的作者
public static void
test1(Document document)
{
//根据标签名称获取所有的作者元素
NodeList n1=document.getElementByTagName("");
//按照索引取第二个作者元素
Node node=n1.item(1);
//打印文本元素
String text=node.getTextContent();
System.out.println(text);
}
(2).遍历所有元素节点,打印元素的名称
public static void
test2(Document document)
{
//判断当前节点是不是一个元素节点
//short type=node.getNodeType();
if(node.getNodeType()==Node.ELEMENT_NODE)
{
//如果是,打印他的名称
System.out.println(node.getNodeName());
}
//如果不是,找到他的孩子们
NodeList
n1=node.getChildNodes();
int
len=n1.getLength();
for(int
i=0;i
{
//遍历孩子:递归
Node n =n1.item(i);
test2(n);
}
}
3,修改某个元素节点的主题内容,把第一本书的售价改为xx
public static void test3(Document document)
{
//找到第一本书的售价
NodeList
na=document.getElementByTagName("");
//设置其主体的内容
Node node=na.item(0);
node.setTextContext("xx");
TransformerFactory
facotry=TransformerFactory.newInstance();
Transformer
ts=factry.newTransformer();
ts.transform(new
DOMSource(document),new StreamResult("文件地址"));
}
4.向指定元素节点中增加子元素节点,
public static void test4(Document
doucment)
{
//创建一个新的元素并设置其主题内容
Element e=document.createElement_x("内部价");
e.setTextContext("00");
//找到第一个对象,改变第一个对象
Node
firstBookNode=document.getElementsByTagName_r("书").item(0);
fristBookNode.appendChild(e);
//把内存中的Document 树写回xml文件中
TransformerFactory facotry=TransformerFactory.newInstance();
Transformer
ts=factry.newTransformer();
ts.transform(new DOMSource(document),new
StreamResult("文件地址"));
}
5.向指定元素节点上增加同级元素节点(改变顺序)
public static void test5(Document document)
{
//创建一个新的元素并设置其中的主题内容
Element e=document.createElent("");
e.setTextContent("00");
//找到第一对象
Node
duixiang=document.getElementByTagName("添加的标签").item(0);
//添加顺序改变(其实就是插入的位置)
duixiang.getParentNode().insertBefore(e.duixiang);
//把内存中的Document
树写回xml文件中
TransformerFactory facotry=TransformerFactory.newInstance();
Transformer
ts=factry.newTransformer();
ts.transform(new DOMSource(document),new StreamResult("文件地址"));
}
6.删除指定元素节点:删除内部价
public static void test6(Document document)
{
//找到节点,用父删除
Node
n=document.getElementsByTagName_r("xx").item(0);
n.getParentNode().removeChild(n);
//把内存中的Document 树写回xml文件中
TransformerFactory facotry=TransformerFactory.newInstance();
Transformer
ts=factry.newTransformer();
ts.transform(new DOMSource(document),new
StreamResult("文件地址"));
}
7.操作xml文件属性,打印第一本书的出版社
public static void test7(Document
document)
{
//得到对象
Node
n=document.getElementByTagName("").item(0);
//打印指的的属性取值
Element e=(Element)n;
}
8.给对象添加属性
public static void
test8(Document document)
{
//得到对象
Node
n=document.getElementByTagName("").item(0);
//打印指的的属性取值
Element e=(Element)n;
e.setAttrubute("属性名","内容");
}
相关文章推荐
- 【asp.net】验证控件
- asp.net+swfupload 多图片批量上传(附源码下载)
- ASP.NET - 禁用ViewState
- ASP.NET、WinForm - 判断整个页面文本框是否为空
- 一个树莓派raspberry pi 操作系统开发网站
- ASP.NET MVC 小牛之旅2:体验第一个MVC程序
- 全7 天玩转 ASP.NET MVC — 第 2 天
- ASP.NET GridView里操作DropDownList
- ASP.net 路径问题 详解
- ASP.net 路径问题 详解
- ASP.NET MVC源码分析系列
- asp.net+swfupload 多图片批量上传(附源码下载)
- ASP.NET 5探险(6):升级ASP.NET 5到beta6
- ASP.NET 5 Beta6发布了(翻译)
- 【ASP.NET】——AdRotator控件
- ASP.NET MsChart 控件出错:为 ChartImg.axd 执行子请求时出错
- ASP.NET Web API 特性
- asp.net MVC 模拟实现与源码分析
- ASP.NET MVC 小牛之旅1:何谓MVC
- Aspose.Words组件介绍及使用—基本介绍与DOM概述