C# Linq到XML解析帮助-获取元素?

C# Linq到XML解析帮助-获取元素?,c#,linq-to-xml,C#,Linq To Xml,鉴于以下情况: - <ArrayOfWsParcelDocIndexIAS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <wsParcelDocIndexIAS> <locatorNum xmlns="http://xxx/webservices/wsDocumentIndex/">131312&l

鉴于以下情况:

- <ArrayOfWsParcelDocIndexIAS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsParcelDocIndexIAS>
  <locatorNum xmlns="http://xxx/webservices/wsDocumentIndex/">131312</locatorNum> 
  <docType xmlns="http://xxx/webservices/wsDocumentIndex/">KIOOLX_DOCINDEX</docType> 
  <docID xmlns="http://xxx/webservices/wsDocumentIndex/">234234</docID> 
  <docName xmlns="http://xxx/webservices/wsDocumentIndex/">Document - 7/1/2008</docName> 
  <fileExists xmlns="http://xxx/webservices/wsDocumentIndex/">true</fileExists> 
  <fileFormat xmlns="http://xxx/webservices/wsDocumentIndex/">PDF</fileFormat> 
  </wsParcelDocIndexIAS>
- <wsParcelDocIndexIAS>
  <locatorNum xmlns="http://xxx/webservices/wsDocumentIndex/">131312</locatorNum>
然后

然而,当id和file_type为null时,我使用的语法试图获取它们的值

我做错了什么


谢谢

XML中的元素位于名称空间
”http://xxx/webservices/wsDocumentIndex/“
,但您为
元素
方法指定的名称不正确。您需要使用和名称创建一个(有一个重载的
+
运算符):


XML中的元素位于命名空间
中http://xxx/webservices/wsDocumentIndex/“
,但您为
元素
方法指定的名称不正确。您需要使用和名称创建一个(有一个重载的
+
运算符):


您没有指定名称空间。试试这个:

XNamespace ns = "http://xxx/webservices/wsDocumentIndex/";
foreach (XElement documentElement in documentElements)
{
    XElement id = documentElement.Element(ns + "locatorNum");
    XElement file_type = documentElement.Element(ns + "fileFormat");
    ...
}

您没有指定名称空间。试试这个:

XNamespace ns = "http://xxx/webservices/wsDocumentIndex/";
foreach (XElement documentElement in documentElements)
{
    XElement id = documentElement.Element(ns + "locatorNum");
    XElement file_type = documentElement.Element(ns + "fileFormat");
    ...
}
XNamespace ns = "http://xxx/webservices/wsDocumentIndex/";
foreach (XElement documentElement in documentElements)
{
    XElement id = documentElement.Element(ns + "locatorNum");
    XElement file_type = documentElement.Element(ns + "fileFormat");
    // ...
XNamespace ns = "http://xxx/webservices/wsDocumentIndex/";
foreach (XElement documentElement in documentElements)
{
    XElement id = documentElement.Element(ns + "locatorNum");
    XElement file_type = documentElement.Element(ns + "fileFormat");
    ...
}