我有一个响应结构,我想用 Java 解析它。谁能帮我解决这个问题吗?
<message_response xmlns="">
<action name="GETCIL">
<param name="bookingNote" value="" require="" read-only=""><![CDATA[bookingNote]]></param>
<param name="CarrierLinkType" value="" require="" read-only=""><![CDATA[True]]></param>
<param name="Carrier" value="" require="" read-only=""><![CDATA[SK185]]></param>
<param_list name="ViaAddressList" id="GETCIL">
<value>
<param_list name="ViaAddressId" id="ViaAddressList">
<value><![CDATA[877765050_5511]]></value>
</param_list>
<param_list name="AddressDate" id="ViaAddressList">
<value><![CDATA[10/12/2010]]></value>
</param_list>
<param_list name="AddressTime" id="ViaAddressList">
<value><![CDATA[12:12]]></value>
</param_list>
</value>
</param_list>
</action>
</message_response>
最佳答案
从 XML 文档中提取特定值(而不是使用 SAX 解析整个文档)的最简单方法是使用 XPath,如下所示:
//1. load the document into memory.
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
//2. Create an XPath.
XPath xpath = XPathFactory.newInstance().newXPath();
//3. Evaluate the xpath expression.
String actionName = xpath.evaluate("/message_response/action/@name", documentBuilder.parse(xmlFile));
除了重载 XPath.evaluate
方法以允许返回节点和节点列表之外,没有更多内容(请参阅 javax.xml.xpath.XPathConstants
code> 类型)。
那么您只需要阅读 xpath 语法 (http://www.w3schools.com/xpath/xpath_syntax.asp)。
关于java - 用 Java 解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5787893/