【发布时间】:2013-04-25 06:53:56
【问题描述】:
我有一个 xform 文档
<?xml version="1.0" encoding="UTF-8"?><h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jr="http://openrosa.org/javarosa">
<h:head>
<h:title>Summary</h:title>
<model>
<instance>
<data vaultType="nsp_inspection.4.1">
<metadata vaultType="metadata.1.1">
<form_start_time type="dateTime" />
<form_end_time type="dateTime" />
<device_id type="string" />
<username type="string" />
</metadata>
<date type="date" />
<monitor type="string" />
</data>
</instance>
</model>
</h:head>
我想使用 xpath 和 jdom 从 xform 中选择数据元素
XPath xpath = XPath.newInstance("h:html/h:head/h:title/");
似乎工作正常并选择了标题元素,但是
XPath xpath = XPath.newInstance("h:html/h:head/model");
不选择模型元素。 我想这与命名空间有关。
【问题讨论】:
-
看来是默认命名空间问题。这个答案有帮助吗:stackoverflow.com/a/6390494/10098?顺便说一句,你的默认命名空间可能是错误的,如果我没记错的话应该是w3.org/2002/xforms
-
这似乎可以打勾。 XPath xpath = XPath.newInstance("//h:model"); tanx @wds 链接。
标签: java xml xpath jdom javarosa