java Xml解析包括内联解析
使用:
import org.w3c.dom.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
如何提取xml数据?例如,对于此xml文件:
<request method="POST" url="/devices/test/planner" body="*">
<response statusCode="200">
<header>
<headerParameters>
<headerParameter name="Content-Type">Content-Type=application/xml</headerParameter>
</headerParameters>
</header>
<body>booking created!</body>
</response>
</request>
如何简单地提取数据? 另外,如何从内联行提取数据
<request method="POST" url="/devices/test/planner" body="*">
谢谢
# 1 楼答案
我支持使用XPath的建议。您可以手动遍历DOM,但为什么?XPath就是为了解决这个问题而设计的。下面是一个完整的Java/JAXP/XPath示例(sans错误检查和异常处理):
此代码打印
body
元素的内容和request
元素上的url
属性的值输出:
# 2 楼答案
使用XPath-也可以通过standard Java APIs随时获取。一旦有了
Document
,Java的XPath就可以直接从中求值——因此仍然会使用DocumentBuilder
之类的例如,您可以使用
/request
获取<request/>
元素,或者使用类似/request/@url
的内容获取请求的URL另一种方法是使用SAX解析,特别是在高性能使用场景中,您可能会按照相同的模式处理多个文档,在这种情况下,您将为处理的每个XML元素接收一个事件,并给出其名称和属性列表