0
从xml中,我需要获取每个节点的名称和区域。Xpath从同一节点中选择多个属性
我知道样品的xpath等,
XMLDependency/@name|XMLDependency/@area
,这给逗号分隔值,
输出:
Name1, JKL, Name2, MNO
XML:
<DocBuild name="ABCD">
<XMLDependency name="Name1" product="Product ABC" area="JKL" />
<XMLDependency name="Name2" product="Product DEF" area="MNO" />
<XMLDependency name="Name3" product="Product GHI" area="PQR" />
</DocBuild>
疑惑:
-
如果area
对于节点(值可能存在或不存在)不是必需的,该如何处理。 - 我们可以在
name
和area
之间插入任何静态文本,以便我们可以使用实用程序解析字符串吗? - 任何XPath表达式除了上面得到的值映射?(可使用适配器)
请帮帮忙!
[编辑]:
这是我开始使用的Java程序。
通过使用节点类型和节点值进行处理使我首先解决了问题。
你的路径表达式不会产生任何结果,'// XMLDependency/@名称| // XMLDependency/@ area'会。你为什么不测试一下'area'属性不存在时会发生什么?不知道你接下来两个“怀疑”是什么意思。你能展示你的Java代码吗? – 2014-09-23 07:14:46
Im评估IntelliJ的XPATH表达式。该表达式产生如问题所示的结果。如果区域不存在,那么它产生为'Name1,JKL,Name2'。从Java方面我们无法处理这一点。因此,如果我们可以得到类似于'Name1:JKL,Name2:MNO'的结果,那么即使某个节点不包含区域,结果为Name1:JKL,Name2:。上述结果可以使用实用程序小心处理。但是,如何在'Name1'和'JKL'之间引入':'是我的第二个疑问。第三个我提到了使用任何其他XPATH表达式获取数据的其他方法。 – VinayVeluri 2014-09-23 09:10:51
由于您在环境中使用代码(IntelliJ中的某些Java)来设置更改XPath表达式结果的上下文,因此您需要向我们显示该上下文。显然你将上下文节点设置为''元素?你用什么来在结果之间插入逗号?这不是来自您的XPath表达式。无论我们给出的答案都必须与Java代码中尚未显示的东西进行整合。 –
LarsH
2014-09-23 15:09:48