これは私のXML文字列です。XMLから属性値を取得
<?xml version="1.0" encoding="UTF-8"?>
<Menu TextField="Menu" NavigateUrlField="/#" MenuID="74">
<Menu TextField="Assets" NavigateUrlField="/Assets" MenuID="1870" />
<Menu TextField="Asset Category" NavigateUrlField="/AssetCategory" MenuID="1871" />
<Menu TextField="Asset Location" NavigateUrlField="/AssetLocation" MenuID="1872" />
</Menu>
このXMLからTextFieldとMenuIdを取得する必要があります。ルートメニュータグの下にあるメニュータグからのみ。
Text Field MenuId
-------------------------------
Assets 1870
Asset Category 1871
Asset Location 1872
私はコードの下にしようとしたが動作していない:
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xml);
XmlNodeList elemList = xmlDoc.GetElementsByTagName("Menu");
for (int i = 0; i < elemList.Count; i++)
{
string menuId = elemList[i].Attributes["MenuID"].Value;
string textField = elemList[i].Attributes["TextField"].Value;
}
誰かが私を助けてください。すべての名前は大文字XML内の機密であるため、その後もAttributes["MenuID"].Value
にAttributes["MenuId"].Value
を変更
XmlNodeList elemList = xmlDoc.SelectNodes("Menu/Menu");
:
可能性のある重複した[何がありますNullReferenceException、どうすれば修正できますか?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –
XMLでは 'MenuId'があなたのコードに含まれています。 –
トーマス、あなたは正しいです。 –