GetElementById is only valid for elements with an "id" attribute, to get other elements, try something likeXmlNodeList nodeList = doc.GetElementsByTagName("Person","http://p.foo.com/");
if (nodeList.Count > 0)
Console.WriteLine( nodeList[0].OuterXml );
if (nodeList.Count > 0)
Console.WriteLine( nodeList[0].OuterXml );
<!DOCTYPE root [
<!ELEMENT root (Persons*)>
<!ELEMENT Persons (Customer*,Person*)>
<!ELEMENT Person EMPTY>
<!ELEMENT Customer EMPTY>
<!ELEMENT Team EMPTY>
<!ATTLIST Person SSN ID #REQUIRED>
<!ATTLIST Customer id ID #REQUIRED >
]>
<root>
<Persons>
<Customer id='A110'/>
<Person SSN='A111'/>
</Persons>
</root>则都可以得到正确的结果。
到底是为什么呢??