【问题标题】:Parse the XML to get the Node Value [duplicate]解析 XML 以获取节点值 [重复]
【发布时间】:2019-12-03 04:26:54
【问题描述】:

调用如下端点时,我得到一个 16 MB 数据的 XML 响应

<?xml version="1.0" encoding="UTF-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://example.org/edmx">
<edmx:DataServices>
    <Schema xmlns="http://example.org/edm" Namespace="PlatformForScience" Alias="pfs">
     <EntityType Name="VHP_BI_SAMPLE" BaseType="pfs.SAMPLE">
         <Property Name="JAX_SAMPLE_COMMENTS" Type="Edm.String"></Property>
         <NavigationProperty Name="SAMPLE_CMQREQUEST" Type="pfs.CMQ_REQUEST"
                             Partner="REV_SAMPLE_CMQREQUEST_VHP_BI_SAMPLE">
    </EntityType>

我需要解析我的 XML 并查找 &lt;EntityType Name="VHP_BI_SAMPLE" BaseType="pfs.SAMPLE"&gt; 并获取与 NavigationProperty Name="SAMPLE_CMQREQUEST" 关联的 Partner。我不确定如何使用 Angular JS 解析 XML 或将它们转换为 JSON,以便我可以访问属性,我该怎么做

我不确定如何将 X2JS 包从 github 安装到我的 AngularJS 项目中

【问题讨论】:

  • 您的 xml 显示无效。先尝试修复它。
  • 是的,我只发布了其中的一部分,因为我无法发布整个 XML 内容
  • 你可以使用 xpath 吗?
  • 我之前没做过。能给我举个例子吗
  • 请参阅下面的答案尝试。

标签: javascript angularjs xml-parsing xml-to-json


【解决方案1】:

稍微修改您的 xml 以使其有效:

<EntityType Name="VHP_BI_SAMPLE" BaseType="pfs.SAMPLE">
         <Property Name="JAX_SAMPLE_COMMENTS" Type="Edm.String">
         </Property>
         <NavigationProperty Name="SAMPLE_CMQREQUEST" Type="pfs.CMQ_REQUEST"
                             Partner="REV_SAMPLE_CMQREQUEST_VHP_BI_SAMPLE">
        </NavigationProperty>
</EntityType>

下面的xpath表达式

EntityType[@Name="VHP_BI_SAMPLE"][@BaseType="pfs.SAMPLE"]/descendant::NavigationProperty[@Name="SAMPLE_CMQREQUEST"]/@Partner

将选择

REV_SAMPLE_CMQREQUEST_VHP_BI_SAMPLE

我相信这就是你要找的。​​p>

【讨论】:

    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    相关资源
    最近更新 更多