如何打印嵌套的 xml 元素?
How to print nested xml elements?
样本xml:
<Root>
<Customers>
<Customer>
<CompanyName>Great Lakes Food Market</CompanyName>
<ContactName>Howard Snyder</ContactName>
<ContactTitle>Marketing Manager</ContactTitle>
<Phone>(503) 555-7555</Phone>
<FullAddress>
<Address>2732 Baker Blvd.</Address>
<City>Eugene</City>
<Region>OR</Region>
<PostalCode>97403</PostalCode>
<Country>USA</Country>
</FullAddress>
</Customer>
</Customers>
</Root>
在上面的xml中,当我使用"Customer"作为根节点并且xpath查询为“/Root/Customers/Customer”时,我无法打印[=的子节点19=] 并且当我使用 "FullAddress" 作为根节点并且 xpath 查询为“/Root/Customers/Customer/FullAddress”时,无法打印所有字段。
请帮助我打印所有 xml 元素的解决方案,包括嵌套在单个报告中的元素。
正确的 XPath 查询是
<queryString language="XPath">
<![CDATA[/Root/Customers/Customer]]>
</queryString>
这包括您的两个节点,要访问值是 FullAddress
节点,您在定义字段时也应该在 fieldDescription
中使用 XPath,因此 Address
是通过 FullAddress/Address
例子
如果CompanyName
的字段声明是
<field name="CompanyName" class="java.lang.String">
<fieldDescription><![CDATA[CompanyName]]></fieldDescription>
</field>
例如City
的字段声明是
<field name="City" class="java.lang.String">
<fieldDescription><![CDATA[FullAddress/City]]></fieldDescription>
</field>
样本xml:
<Root>
<Customers>
<Customer>
<CompanyName>Great Lakes Food Market</CompanyName>
<ContactName>Howard Snyder</ContactName>
<ContactTitle>Marketing Manager</ContactTitle>
<Phone>(503) 555-7555</Phone>
<FullAddress>
<Address>2732 Baker Blvd.</Address>
<City>Eugene</City>
<Region>OR</Region>
<PostalCode>97403</PostalCode>
<Country>USA</Country>
</FullAddress>
</Customer>
</Customers>
</Root>
在上面的xml中,当我使用"Customer"作为根节点并且xpath查询为“/Root/Customers/Customer”时,我无法打印[=的子节点19=] 并且当我使用 "FullAddress" 作为根节点并且 xpath 查询为“/Root/Customers/Customer/FullAddress”时,无法打印所有字段。
请帮助我打印所有 xml 元素的解决方案,包括嵌套在单个报告中的元素。
正确的 XPath 查询是
<queryString language="XPath">
<![CDATA[/Root/Customers/Customer]]>
</queryString>
这包括您的两个节点,要访问值是 FullAddress
节点,您在定义字段时也应该在 fieldDescription
中使用 XPath,因此 Address
是通过 FullAddress/Address
例子
如果CompanyName
的字段声明是
<field name="CompanyName" class="java.lang.String">
<fieldDescription><![CDATA[CompanyName]]></fieldDescription>
</field>
例如City
的字段声明是
<field name="City" class="java.lang.String">
<fieldDescription><![CDATA[FullAddress/City]]></fieldDescription>
</field>