2011-09-15 2 views
1

を持つノードを選択:私は、SPリストにusign Webサービスを項目を追加するために、次のコードを使用しXmlNode.selectSingleNode

XmlNode returnValue = lists.UpdateListItems("Facturas", batchElement); 
XmlNodeList errors = returnValue.SelectNodes("/Results"); 
if (errors.Count != 1) 
{ 
    Console.WriteLine("errors.Count es " + errors.Count); 
    Console.ReadKey(); 
    return -1; 
} 
Console.WriteLine("Error " + errors[0].Value + " -> " + int.Parse(errors[0].Value)); 

は、(Zの属性を次のXMLを返しerrors.OuterXml:行が持っているの

ErrorCode 
//ErrorCode 
/Results 
Results 
*[local-name() = 'ErrorCode'] 
/*[local-name() = 'Results'] 
:)私は、コードを実行すると、私はいつも errors.Count私はSelectNodesメソッドに次の引数を試してみました0であることを取得

<Results xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
    <Result ID="1,New" xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
    <ErrorCode>0x00000000</ErrorCode> 
    <ID /> 
    <z:row ows_ContentTypeId="0x010031045FE2D0730F499569DE68AFDB3F0B" ... xmlns:z="#RowsetSchema" /> 
    </Result> 
</Results> 

を省略して

また、私はに私のコードを変更:

​​

soap:ErrorCodeまたはrs:ErrorCodeを照会誘い込む何も取得できませんでした。

答えて

4
var doc = new XmlDocument(); 
doc.Load("1.xml"); 


var nsmgr = new XmlNamespaceManager(doc.NameTable); 
nsmgr.AddNamespace("soap", "http://schemas.microsoft.com/sharepoint/soap/"); 

var results = doc.SelectSingleNode("/soap:Results", nsmgr); 
var errorcode = doc.SelectSingleNode("/soap:Results/soap:Result/soap:ErrorCode", nsmgr); 

Console.WriteLine(errorcode.InnerText); 

サンプルXML:

<Results xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
    <Result ID="1,New" xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
    <ErrorCode>0x00000000</ErrorCode> 
    <ID /> 
    <z:row ows_ContentTypeId="0x010031045FE2D0730F499569DE68AFDB3F0B" xmlns:z="#RowsetSchema" /> 
    </Result> 
</Results> 
関連する問題