利用Jaxp解析xml文件
XML文件示例:
<?xml version="1.0" encoding="UTF-8" ?>
<书架>
<书>
<书名 name="***">语文</书名>
<作者>李白</作者>
<售价>100.0</售价>
</书>
<书名>数学</书名>
<作者>杜甫</作者>
<售价>101.0</售价>
<书>
</书>
</书架>
解析实现:
/*
*利用dom方式对xml进行解析
*/
//获取某一标签
public void read()
{
DocumentBuildFactory factory = DocumentBuildFacetory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Documnet document = builder.parse("xmlPath");
NodeList list = document.getElementByTagName("标签名");
Node node = list.item(1);
String content = node.getTextContent();
}
//遍历xml文档所有节点、标签
public void read1()
{
DocumentBuild factory = DocumentBuildFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("xmlPath");
Node root = document.getElementByTagName("根标签名称").item(0);
list(root);
}
//递归遍历,会将xml所有的节点遍历为DO
//如果只需要获取xml的所有标签,添加判断语句,对节点进行判断:if(node instanceof Element)
public void list(Node node)
{
/*if(node instanceof Element)
{
System.out.prinln(node.getNodeName());
}*/
NodeList list = node.getChildNodes();
for(int i=0;i<list.getLength();i++)
{
Node child = list.item(i);
list(child);
}
}
//得到xml文档中标签属性的值
public void read1()
{
DocumentBuild factory = DocumentBuildFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("xmlPath");
Element tagname = (Element)Document.getElementByTagName("书名").item(0); //进行了强转
tagname.getAttribute("name"); //对上述xml解析示例,得到书名“name”属性值“***”
}
利用Jaxp解析方法现在不常用,是一种最基本的解析方法!
专注搬砖,擅长搬砖砸自己的脚~~~
Email:
ltwbuaa@163.com

浙公网安备 33010602011771号