2009-05-08 5 views
0

Je reçois l'erreur:Erreur lorsque vous essayez de charger XML à partir d'un service Web Sharepoint dans un appel ASP.NET GridView

Illegal characters in path.

en essayant de charger XML, en utilisant XPath, dans la source de données d'un gridview dans la Fonction PageLoad dans le code-behind d'une page ASP.NET que je construis. Est-ce que quelqu'un sait ce que cette erreur signifie?

Le XML venant de l'appel Web Services Sharepoint est:

<?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> 

Et mon code se cache derrière:

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() 

Le message d'erreur est à venir sur la ligne " ds_me.ReadXML ... "

+0

Quel est le message d'erreur réel? Qu'est-ce que xdsIncidents.Data a réellement comme valeur? – RSolberg

Répondre

0

C'est parce que cette surcharge de ReadXml attend un fichier p ath pour lire du xml, pas une chaîne avec xml.

Vous devrez créer un XmlReader ou TextReader à partir de votre chaîne si vous souhaitez charger le DataSet de cette manière.

Questions connexes