【问题标题】:How to print nested xml elements?如何打印嵌套的 xml 元素?
【发布时间】:2017-06-28 15:05:05
【问题描述】:

示例 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”时,我无法打印“FullAddress”的子节点,当我使用“FullAddress”时” 作为根节点,xpath 查询为“/Root/Customers/Customer/FullAddress”,无法打印所有字段。

请帮助我解决打印所有 xml 元素的解决方案,包括嵌套在单个报告中。

【问题讨论】:

    标签: xpath jasper-reports xmldatasource


    【解决方案1】:

    正确的 XPath 查询是

    <queryString language="XPath">
        <![CDATA[/Root/Customers/Customer]]>
    </queryString>
    

    这包括您的两个节点,要访问值是 FullAddress 节点,您应该在定义字段时也在 fieldDescription 中使用 XPath,因此通过 FullAddress/Address 访问 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>
    

    【讨论】:

    • 非常感谢您的帮助!!
    猜你喜欢
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 2015-05-05
    • 1970-01-01
    相关资源
    最近更新 更多