Search a XMLNODE
本文关键字:XMLNODE Search | 更新日期: 2023-09-27 18:30:27
我对ASP .NET中的XML处理非常陌生。
我正在通过 Web 服务参考在 asp .net 站点中使用 sharepoint 列表的数据。
以下是我用于使用数据的代码。
TestSharePointSite.Lists lists = new global::Test.TestSharePointSite.Lists();
lists.Url = "http://intranetsharepoint/global/test/_vti_bin/Lists.asmx";
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
XmlNode n = lists.GetListItems("TestList", null, null, null, null, null, null);
for (int i = 0; i < n.ChildNodes[1].ChildNodes.Count; i++)
{
if (n.ChildNodes[1].ChildNodes[i].Attributes != null)
{
foreach (XmlAttribute a in n.ChildNodes[1].ChildNodes[i].Attributes)
{
Response.Write("<br> .. " + a.Name + " .. " + a.InnerText);
}
}
}
以下是我从上述代码中输出的输出
.. ows_Content_x0020_Description .. string;#Fast Track
.. ows_Dev_x002e__x0020_Location .. 32;#Numatics Actuator Tennessee
.. ows_Strategic_x0020_Bucket0 .. 4;#Minor Revision
--------------------- Other Attributes ----------------
.. ows_Engineer .. 584;#Tilmos, Wayne [INDAUTO/ASCONUM/NOVI]
.. ows__ModerationStatus .. 0
现在我想搜索一个特定的 XML 元素''XML 节点。我想要一个节点,其中内容描述(这里带有名称 ows_Content_x0020_Description
)包含Fast Track
。
我已经经历了以下关于 SO 的问题,但无法在我的代码中实现解决方案。 我也尝试在谷歌上搜索,但无法做到。 提前感谢。
按属性值选择 XML 节点
查找字符串中包含属性值的 XmlNode
您应该使用 XPath 表达式进行测试。我假设变量列表是一个 XmlDocument。
XmlNode node =
list.SelectSingleNode("//root/ows_Content_x0020_Description[contains(.,'Fast Track')]");
请参阅 http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.selectsinglenode.aspx
编辑:使用 XPathTester 测试 XPath 表达式
XmlDocument dddd = new XmlDocument();
dddd.Load(@"D:'Development'xxxx'xxxxx.xml");
XmlNode xnode = dddd.DocumentElement;
for (int i = 0; i < xnode.ChildNodes.Count; i++)
{
if(xnode.ChildNodes[i].Attributes !=null)
foreach (XmlAttribute a in xnode.ChildNodes[i].Attributes)
{
if (a.Name == "ows_Content_x0020_Description")
{
string nameddd = a.InnerText;
}
}
}