如何在Java X路径中获取带有名称空间的嵌套xml的属性

苏达山

我有一个具有嵌套结构和名称空间的复杂xml。我能够读取xml元素,但无法读取属性。

像我必须从xml读取contentSet或action的属性。

这是我的XML结构

<?xml version="1.0"?>
<env:ContentEnvelope xsi:schemaLocation="http://fundamental.schemas.financial.jso.com/Fundamental/2011-07-07/ 
https://theshare.jso.com/sites/TRM-IA/Content%20Marketplace/Strategic%20Data%20Interfaces/SDI%20Schemas/Schemas/Fundamentals/2015-09-25/FundamentalMaster.xsd"
    xmlns:esg="http://fundamental.schemas.financial.jso.com/ESGSupportingInfo/2011-07-07/"
    xmlns:md="http://data.schemas.financial.jso.com/metadata/2010-10-10/"
    xmlns:cr="http://fundamental.schemas.financial.jso.com/CoraxData/2012-10-25/"

    <env:Header>
        <env:Info>
            <env:Id>urn:uuid:069527ab-2c10-48bb-b3d2-206f4e66e5d2</env:Id>
            <env:TimeStamp>2016-12-23T10:09:09+00:00</env:TimeStamp>
        </env:Info>
        <fun:OrgId>20240</fun:OrgId>
        <fun:PartitionId>1</fun:PartitionId>
    </env:Header>

    <env:Body minVers="0.0" majVers="1" contentSet="Fundamental">
        <env:ContentItem action="Insert">

            <env:Data xsi:type="fun:FundamentalDataItem">
                <fun:Fundamental effectiveTo="9999-12-31T00:00:00+00:00" effectiveFrom="2013-06-29T00:55:15.313+00:00" uniqueFuamentalSet="0054341342">
                    <fun:OrganizationId objectType="Organization" objectTypeId="404510">42565596</fun:OrganizationId>
                    <fun:PrimaryReportingEntityCode>A4C67</fun:PrimaryReportingEntityCode>
                    <fun:TotalPrimaryReportingShares>567923000.00000</fun:TotalPrimaryReportingShares>
                    <fun:LocalLanguageId>505074</fun:LocalLanguageId>
                    <fun:IndustryGroups>
                        <fun:IndustryGroup validTo="9999-12-31T00:00:00+00:00" validFrom="1900-01-01T00:00:00+00:00">
                            <fun:GroupCode>BNK</fun:GroupCode>
                            <fun:GroupName languageId="505074">Bank</fun:GroupName>
                            <fun:TaxonomyId>1</fun:TaxonomyId>
                            <fun:IndustryGroupCodeId>3011649</fun:IndustryGroupCodeId>
                        </fun:IndustryGroup>
                    </fun:IndustryGroups>
                    <fun:GaapCode>CAG</fun:GaapCode>
                    <fun:ConsolidationBasis>Consolidated</fun:ConsolidationBasis>
                    <fun:IsFiling>true</fun:IsFiling>
                    <fun:ConsolidationBasisId>3013598</fun:ConsolidationBasisId>
                    <fun:GaapCodeId>3011536</fun:GaapCodeId>
                    <fun:Taxonomies>
                        <fun:Taxonomy>1</fun:Taxonomy>
                    </fun:Taxonomies>
                    <fun:WorldScopeIds>
                        <fun:WorldScopeId validTo="9999-12-31T00:00:00+00:00" validFrom="2012-03-31T00:00:00+00:00">C12436390</fun:WorldScopeId>
                    </fun:WorldScopeIds>
                </fun:Fundamental>
            </env:Data>
        </env:ContentItem>

这是我的java表达式以阅读该内容。

    FileInputStream file = new FileInputStream(new File("c://temp/Fun.xml"));
    DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder =  builderFactory.newDocumentBuilder();
    Document xmlDocument = builder.parse(file);

    XPath xPath =  XPathFactory.newInstance().newXPath();

    System.out.println("*************************");
    String expression = "/ContentEnvelope/Body[@minVers='0.0']/contentSet";
    System.out.println(expression);
har07

使用@attribute_name语法来引用XPath中的属性,就像您使用过的一样@minVers

/ContentEnvelope/Body[@minVers='0.0']/@contentSet

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中获取具有名称空间的XML节点

来自分类Dev

如何在Laravel中通过路由名称获取带有名称空间的路由?

来自分类Dev

如何获得带有名称空间的属性?

来自分类常见问题

如何通过带有名称空间的SAXBuilder生成xml?

来自分类Dev

如何选择带有名称空间的XML节点

来自分类Dev

如何选择带有名称空间的XML节点

来自分类Dev

如何在没有名称空间的情况下获取属性值?

来自分类Dev

如何在JAVA中编码默认名称空间和带有单个XML元素前缀的名称空间

来自分类Dev

如何在JAVA中编码默认名称空间和带有单个XML元素前缀的名称空间

来自分类Dev

Nokogiri:如何获取带有名称空间前缀的节点名称

来自分类Dev

当嵌套对象具有名称空间时如何反序列化XML

来自分类Dev

当嵌套对象具有名称空间时如何反序列化XML

来自分类Dev

如何在asp.net中获取带有名称的cookie

来自分类Dev

当XML上存在默认名称空间时,如何使用XSLT添加具有名称空间的属性

来自分类Dev

如何使用变量的类名访问PHP中带有名称空间的类常量?

来自分类Dev

如何在Python中获取嵌套函数的名称空间?

来自分类Dev

如何在Python中获取嵌套函数的名称空间?

来自分类Dev

如何在带有前缀但没有名称空间的节点上使用xpath?

来自分类Dev

如何在 PHP Xpath 中获取带有命名空间前缀的元素名称

来自分类Dev

如何在不考虑Java中命名空间名称的情况下从XML获取Node?

来自分类Dev

如何在CasperJS中选择带有名称空间的标签?

来自分类Dev

如何在带有名称空间的类文件中使用定义

来自分类Dev

如何在javascript中获取xml名称空间

来自分类Dev

如何在没有名称空间的情况下访问XML元素

来自分类Dev

如何在具有名称空间的XML文档上使用LibreOffice FILTERXML函数?

来自分类Dev

在表达中,如何在带有破折号的表单中获取属性名称?

来自分类Dev

如何在Java中获取路径的长度?

来自分类Dev

如何在JSP中获取java路径?

来自分类Dev

如何从dom文档中删除所有名称空间

Related 相关文章

  1. 1

    在Java中获取具有名称空间的XML节点

  2. 2

    如何在Laravel中通过路由名称获取带有名称空间的路由?

  3. 3

    如何获得带有名称空间的属性?

  4. 4

    如何通过带有名称空间的SAXBuilder生成xml?

  5. 5

    如何选择带有名称空间的XML节点

  6. 6

    如何选择带有名称空间的XML节点

  7. 7

    如何在没有名称空间的情况下获取属性值?

  8. 8

    如何在JAVA中编码默认名称空间和带有单个XML元素前缀的名称空间

  9. 9

    如何在JAVA中编码默认名称空间和带有单个XML元素前缀的名称空间

  10. 10

    Nokogiri:如何获取带有名称空间前缀的节点名称

  11. 11

    当嵌套对象具有名称空间时如何反序列化XML

  12. 12

    当嵌套对象具有名称空间时如何反序列化XML

  13. 13

    如何在asp.net中获取带有名称的cookie

  14. 14

    当XML上存在默认名称空间时,如何使用XSLT添加具有名称空间的属性

  15. 15

    如何使用变量的类名访问PHP中带有名称空间的类常量?

  16. 16

    如何在Python中获取嵌套函数的名称空间?

  17. 17

    如何在Python中获取嵌套函数的名称空间?

  18. 18

    如何在带有前缀但没有名称空间的节点上使用xpath?

  19. 19

    如何在 PHP Xpath 中获取带有命名空间前缀的元素名称

  20. 20

    如何在不考虑Java中命名空间名称的情况下从XML获取Node?

  21. 21

    如何在CasperJS中选择带有名称空间的标签?

  22. 22

    如何在带有名称空间的类文件中使用定义

  23. 23

    如何在javascript中获取xml名称空间

  24. 24

    如何在没有名称空间的情况下访问XML元素

  25. 25

    如何在具有名称空间的XML文档上使用LibreOffice FILTERXML函数?

  26. 26

    在表达中,如何在带有破折号的表单中获取属性名称?

  27. 27

    如何在Java中获取路径的长度?

  28. 28

    如何在JSP中获取java路径?

  29. 29

    如何从dom文档中删除所有名称空间

热门标签

归档