2
私のxmlファイルは次のようになります。LINQのがnull要素を返し
<?xml version="1.0" encoding="utf-8"?>
<roulette xmlns="Mechanical" name="Ruleta">
<params name="Mechanical Counters">
<param name="C01">
<comm>30313</comm>
<command>INA</command>
<factor>5</factor>
<index>2</index>
<meter>0</meter>
<player>1023</player>
<meterstring>ml_BET</meterstring>
</param>
<param name="C02">
<comm>30313</comm>
<command>INC</command>
<factor>5</factor>
<index>3</index>
<meter>0</meter>
<player>1023</player>
<meterstring>ml_WIN_PAYTABLE</meterstring>
</param>
<param name="C03">
<comm>30313</comm>
<command>INE</command>
<factor>5</factor>
<index>0</index>
<meter>0</meter>
<player>1023</player>
<meterstring>ml_CRE_IN_BA + ml_CRE_IN_REM + ml_CRE_IN_KEY + ml_CRE_IN_TICKET</meterstring>
</param>
<param name="C04">
<comm>30313</comm>
<command>ING</command>
<factor>5</factor>
<index>1</index>
<meter>0</meter>
<player>1023</player>
<meterstring>ml_CRE_OUT_KEY + ml_CRE_OUT_HANDPAY + ml_CRE_OUT_HANDPAYJP + ml_CRE_OUT_REM + ml_CRE_OUT_TICKET</meterstring>
</param>
<param name="Percentage">
<factor>10</factor>
</param>
<param name="WaitAnswer">
<miliseconds>2500</miliseconds>
</param>
</params>
</roulette>
私は名前がテキストボックスに表示しC01に等しい親param
要素のcomm
要素を解析しようとしています。
私のコードは次のようになります。
private void radioButton1_Click(object sender, EventArgs e)
{
//loadamo xml dokument
var doc = XDocument.Load("mechanical.xml");
//preberemo prvi element števca C01 comm
var prvi = doc.Descendants("param")
.Where(x => (string)x.Attribute("name") == "C01")
.Elements("comm")
.FirstOrDefault();
if (prvi != null) { textBox1.Text = "Je element"; } else { textBox1.Text = "ni elementa"; }
}
問題は、それが何を私を解析していないということである(VAR prvi
がnullである)それがコードになっていないはずです。何が問題ですか?
Tnxは、現在完全に機能しています!私はxmlファイルを表示しているとき、どこに名前空間があるのか分かりますか? –
@AndrejMaleckar - 更新を参照してください。 –
答えと助けてくれてありがとう、本当に私の人を助けました! –