Разберы Xdocument без необходимости указывать определение пространства имен по умолчанию

У меня есть некоторые данные XML (аналогично образцу ниже), и я хочу прочитать значения в коде.

Почему я вынужден указывать пространство имен по умолчанию для доступа к каждому элементу? Я бы ожидал, что пространство имен по умолчанию будет использоваться для всех элементов.

Есть ли более логичный способ достижения моей цели?

Образец XML:

<?xml version="1.0" encoding="UTF-8"?>
<ReceiptsBatch xmlns="http://www.secretsonline.gov.uk/secrets">
    <MessageHeader>
        <MessageID>00000173</MessageID>
        <Timestamp>2009-10-28T16:50:01</Timestamp>
        <MessageCheck>BX4f+RmNCVCsT5g</MessageCheck>
    </MessageHeader>
    <Receipts>
        <Receipt>
            <Status>OK</Status>
        </Receipt>
    </Receipts>
</ReceiptsBatch>

код для чтения элементов XML Я после:

XDocument xDoc = XDocument.Load( FileInPath );

XNamespace ns = "http://www.secretsonline.gov.uk/secrets";

XElement MessageCheck = xDoc.Element(ns+ "MessageHeader").Element(ns+"MessageCheck");
XElement MessageBody = xDoc.Element("Receipts");
12
задан VMAtm 12 September 2011 в 11:21
поделиться