Ошибка при попытке загрузить XML из вызова веб-служб Sharepoint в ASP.NET Gridview - PullRequest
0 голосов
/ 08 мая 2009

Я получаю сообщение об ошибке:

Недопустимые символы в пути.

при попытке загрузить XML с использованием XPath в источник данных gridview в функции PageLoad в коде позади страницы ASP.NET, которую я создаю. Кто-нибудь знает, что означает эта ошибка?

XML, исходящий от вызова веб-служб Sharepoint:

<?xml version='1.0' encoding='ISO-8859-1'?>
<listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
<rs:data ItemCount="2"> 
    <z:row ows_Attachments="0" ows_LinkTitle="testTitle" ows_IncidentID="0" .../> 
    <z:row ows_Attachments="0" ows_LinkTitle="test2" ows_IncidentID="1" ... /> 
</rs:data> 

И мой код:

newNode = thisL.GetListItems(strID, viewName, query, viewFields, rowLimit, queryOptions, webID)

    mNodeList = newNode.ChildNodes
    Dim ds_me As New Data.DataSet

    xdsIncidents.Data = "<?xml version='1.0' encoding='utf-8'?>" & newNode.OuterXml
    xdsIncidents.XPath = "//z:row"
    GridView1.AutoGenerateColumns = True
    DataDiv.InnerText = xdsIncidents.Data

    ds_me.ReadXml(xdsIncidents.Data)
    Dim dv As New Data.DataView(ds_me.Tables(1))

    GridView1.DataSource = dv
    GridView1.DataBind()

Сообщение об ошибке появляется в строке "ds_me.ReadXML ..."

1 Ответ

0 голосов
/ 09 мая 2009

Это связано с тем, что перегруженный файл ReadXml ожидает, что путь к файлу будет считан из некоторого XML, а не из строки с XML в нем.

Вам необходимо создать XmlReader или TextReader из вашей строки, если вы хотите загрузить DataSet таким способом.

...