Я очень новичок в обработке XML в ASP.NET.Поиск XMLNODE
Я потребляю данные списка sharepoint в asp .net сайте через ссылку на веб-службу.
следующий - мой код для использования данных.
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, но не смог реализовать решение в своем коде. Я попытался выполнить поиск по Google, но не смог это сделать. thx заранее.
Select XML node by attribute value
Find XmlNode where attribute value is contained in string
это дает мне следующее сообщение об ошибке '// корень/ows_Content_x0020_Description/Fast Track' имеет недопустимый маркер. обратите внимание, что значение «ows_Content_x0020_Description» равно «string; #Fast Track», а не «Fast Track» – Dhaval
Я просто угадал имя пути. Вам нужно будет адаптировать его. Просто хотел продемонстрировать, насколько легко использовать XPath по сравнению с тем, что нужно писать петли foreach. – Papa
ОК, я получил вашу точку зрения .. но я не буду искать поиск по точной величине, но мне нужно выбрать узел, который будет содержать заданное значение .. какой-то поиск по диким картам (что-то вроде «% Fast Track % ') – Dhaval