私はC#visual studioでxmlを読み込もうとしていましたが、それをうまくやる方法がわかりませんでした。まず、次のようにifブロックを試しました。xmlファイルの読み方(簡単)
if (ReadToNextDescendant("painted_blue"))
{
// access the coordinates inside and do some work
// this works
}
これはうまくいって、塗られた青色の座標からデータを抽出できました。しかし、私は再びwall_horizontalを試してみましたが、うまくいきませんでした。こうして、私はある種の新しい機能、あるいは別のアプローチが必要であると結論づけました。しかし、私はXMLパースに精通していません。一つのこととして、私はReadToDescendantが何をしているのか、それがなぜ二回目にはうまくいかなかったのかを正確には理解していません。誰かが私を正しい方向に向けることができますか?
<painted_blue>
(0,0)
(1,0)
(1,5)
(2,2)
</painted_blue>
<walls_horizontal>
(1,2)
(1,3)
(1,4)
(2,1)
(2,2)
</walls_horizontal>
<walls_vertical>
(1,1)
(1,2)
(1,3)
(2,0)
(2,1)
</walls_vertical>
'ReadToNextDescendant'はあなたが何かで呼び出されていないので、自分のクラスのメソッドのようです。あなたが[mcve]を提供するなら、それは本当に役に立ちます。しかし、一般的には、XMLを扱う際にLINQ to XMLを使用することをお勧めします。あなたのXMLの現在の構造は本当に残念です - それらの要素のそれぞれに5つのサブ要素があるように見えます。 –
XElementクラスを検索します。このようなことには非常に便利で、Lonq to XMLについてXMLを話すときにJon Skeetが言及しているものの一部です。また、Jon Skeet氏が述べたように、XMLを修正して、それらの座標がおそらくx属性とy属性を持つサブ要素であることを考慮する必要があります。 – Jakotheshadows
注目に値すると、追加:あなたのXMLは有効なXMLではありません。 –