私はxmlの子ノードを取得しようとしています。親ノードに "id"という名前の属性があります。ここにXMLコンテンツがあります:自己IDを使って子ノードを取得
<?xml version="1.0"?>
<languages>
<item id="button_back">
<turkish>geri</turkish>
<english>back</english>
</item>
<item id="button_install">
<turkish>seçilileri kur</turkish>
<english>install selected</english>
</item>
</languages>
私はトルコ語のタグの価値を得たいと思います。これどうやってするの?ここに私が試したものです:
using (XmlReader xr = XmlReader.Create(@"languages.xml"))
{
XDocument xdoc = XDocument.Load(xr);
var query = from t in xdoc.Descendants("item")
where t.Element("id").Value.ToLower() == "button_back" // Edit
select new
{
ID = t.Attribute("id").Value,
Turkish = t.Element("turkish").Value
};
foreach (var it in query)
{
MessageBox.Show(it.Turkish);
}
}
EDIT:このコードは私にメッセージボックスと
XR
ラインのnull参照の例外を与えています。
うわーで、この使用してXML LINQをやって好きです。どうもありがとう。 –
ようこそ。 –
@OnurCan答えをアップアップすると、「ありがとう」という言葉を表現する具体的な方法の1つです。だから、これは最初に「やってくれてありがとう」と言います。もちろん、あなたはSOの投票システムについて知らないかもしれないので、今それを知るべきです。 –