从XML文件获取属性值

编程入门 行业动态 更新时间:2024-10-14 22:17:35

从XML文件获取<a href=https://www.elefans.com/category/jswz/34/1771415.html style=属性值"/>

从XML文件获取属性值

我正在尝试从OPCUA NodeSet中检索UAObjectType的所有NodeId。

这里是xml文件:.Ua.Robotics.NodeSet2.xml

这是我正在使用的代码:

 NodeName = select("//ns1:UAObjectType/ns1:DisplayName/text()", ns);
  NodeId = select(String("//ns1:UAObjectType/@NodeId") , ns);
  fs.writeFileSync("Names.xml" , NodeName )
  fs.writeFileSync("Ids.xml", NodeId)
  console.log(NodeId);
  if (mapper["ObjectType"] != null) {
    var otypes = {};
    for (i = 0 ; i<NodeName.length ; i++){
        add(otypes , NodeName[i] , NodeId[i]);
    }
  }

这是我在Ids.xml文件中得到的输出:


 NodeId="ns=1;i=1001", NodeId="ns=1;i=15035", NodeId="ns=1;i=15048", NodeId="ns=1;i=15051"

这是我想要的输出:

ns=1;i=1001, ns=1;i=15035 , ns=1;i=15048 , ns=1;i=15051

您知道如何解决吗?

感谢大家的关注。

回答如下:

假设您有权使用XPath 2.0处理器(Saxon-JS吗?xpath.js吗?):

string-join(//*[name()="UAObjectType"]/@NodeId,",")

测试:https://raw.githubusercontent/OPCFoundation/UA-Nodeset/master/Robotics/Opc.Ua.Robotics.NodeSet2.xml

输出:'ns=1;i=1002,ns=1;i=1004,ns=1;i=16601,ns=1;i=16794,ns=1;i=1019,ns=1;i=1022,ns=1;i=1013,ns=1;i=17230,ns=1;i=17233,ns=1;i=1003,ns=1;i=17725,ns=1;i=17793,ns=1;i=1011,ns=1;i=1018,ns=1;i=18175'

或使用XPath 1.0,在每个UAObjectType上循环并连接@NodeIdstring(./@NodeId))的每个字符串。

更多推荐

从XML文件获取属性值

本文发布于:2024-05-07 06:45:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754906.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:属性   文件   XML

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!