首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在XML文档中查找同级属性

在XML文档中查找同级属性
EN

Stack Overflow用户
提问于 2015-01-21 21:23:45
回答 1查看 415关注 0票数 0

我正在使用的一个程序WonderWare创建了以下XML文档

代码语言:javascript
复制
<ItemsList>
    <Item Name="31" Alias="PMP1_ANY_FAULT"/>
    <Item Name="29" Alias="PMP1_DEVIATION"/>
    <Item Name="27" Alias="PMP1_DISCREPANCY"/>
    <Item Name="25" Alias="PMP1_EQUIP_SC_BAD"/>
    <Item Name="402019 F" Alias="PMP1_EQUIP_SP"/>
</ItemsList>

使用VB.Net,我可以打开文档,但我不知道如何通过它的别名查找索引,然后返回关联项名。老实说,我甚至找不到两个元素像这个程序一样被挤在一起的例子,所以我觉得我只是在黑暗中随机地刺伤,同时试图查找信息。

目前,我正在使用xPath与XML文件进行交互,但是如果其他东西能够更好地工作,我愿意尝试其他方法。

编辑:更改问题标题,以更准确地反映我需要的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-22 20:18:34

谢谢你@Crowcode和@Phrogz为我指明了正确的方向。这是最后的代码

代码语言:javascript
复制
dim v as string;
dim ItemDBXMLString as string;
dim doc as System.Xml.XmlDocument;
dim SR as System.IO.StringReader;
dim TR as System.Xml.XmlTextReader;
dim nodeList as System.Xml.XmlNodeList;
dim root as System.Xml.XmlNode;
dim Node as System.Xml.XmlNode;
dim x as integer;

ItemDBXMLString = MB_TCPIP.PLC_001.AliasDatabase;
doc = new System.Xml.XmlDocument;
SR = new System.IO.StringReader(ItemDBXMLString);
TR = new System.Xml.XmlTextReader(SR);
doc.Load(TR);
root = doc.DocumentElement;

Address = root.SelectSingleNode("/ItemsList/Item[@Alias='PMP1_SI_VALUE']/@Name").InnerText;

我必须显式地使用System.XML,因为WonderWare不允许我使用导入。除此之外,我还获取了XML "file“(实际上只是一个大字符串),并在它中搜索特定的别名。因为我所有的别名值都是唯一的,所以我只需要使用select单个节点。然后哪个返回关联程序(兄弟姐妹?)名字。

再次感谢您的帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28077102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档