读取 Xdocument Insde
Reading Insde of a Xdocument
大家好,我可能做错了,但我试图在 xml 文档中获取内部元素,每次我尝试 for 循环时,它似乎 return 全部都一次性付清
样本xml
<RStream>
<CmdResponse>
</CmdResponse>
<TranResponse>
<ProductData>
<ProductCat1>02</ProductCat1>
<ProductSubCat1>000</ProductSubCat1>
<ProductQty1>32.00</ProductQty1>
<ProductCat2>03</ProductCat2>
<ProductSubCat2>000</ProductSubCat2>
<ProductQty2>72.00</ProductQty2>
</ProductData>
</TranResponse>
</RStream>
foreach (XElement element in doc.Descendants("ProductData"))
{
MessageBox.Show(element.Name.ToString());
MessageBox.Show(element.Value);
}
我收到 ProductData 的响应
然后
的回应
我正在尝试在循环中得到一个会显示给我的响应
ProductCat1 然后是 02
依此类推,ProductData
中的响应数量可能不受限制
您必须在 ProductData
的子 children 上使用另一个 foreach
:
例如试试这个:
foreach (XElement element in doc.Descendants("ProductData"))
{
foreach (XElement subElement in element.Elements())
{
Debug.WriteLine(subElement.Name.ToString());
Debug.WriteLine(subElement.Value);
}
}
希望对您有所帮助
您可以使用带有断点的 Visual Studio 调试器轻松解决此问题。这样做,您可以检查变量 element
的值,即 this
<ProductData>
<ProductCat1>02</ProductCat1>
<ProductSubCat1>000</ProductSubCat1>
<ProductQty1>32.00</ProductQty1>
<ProductCat2>03</ProductCat2>
<ProductSubCat2>000</ProductSubCat2>
<ProductQty2>72.00</ProductQty2>
</ProductData>
为了得到你想要的东西,你需要这个修改后的代码:
foreach (XElement element in doc.Descendants("ProductData"))
{
foreach (var xElement in element.Elements())
{
MessageBox.Show(xElement.Name.ToString());
MessageBox.Show(xElement.Value);
}
}
大家好,我可能做错了,但我试图在 xml 文档中获取内部元素,每次我尝试 for 循环时,它似乎 return 全部都一次性付清
样本xml
<RStream>
<CmdResponse>
</CmdResponse>
<TranResponse>
<ProductData>
<ProductCat1>02</ProductCat1>
<ProductSubCat1>000</ProductSubCat1>
<ProductQty1>32.00</ProductQty1>
<ProductCat2>03</ProductCat2>
<ProductSubCat2>000</ProductSubCat2>
<ProductQty2>72.00</ProductQty2>
</ProductData>
</TranResponse>
</RStream>
foreach (XElement element in doc.Descendants("ProductData"))
{
MessageBox.Show(element.Name.ToString());
MessageBox.Show(element.Value);
}
我收到 ProductData 的响应 然后
的回应我正在尝试在循环中得到一个会显示给我的响应 ProductCat1 然后是 02 依此类推,ProductData
中的响应数量可能不受限制您必须在 ProductData
的子 children 上使用另一个 foreach
:
例如试试这个:
foreach (XElement element in doc.Descendants("ProductData"))
{
foreach (XElement subElement in element.Elements())
{
Debug.WriteLine(subElement.Name.ToString());
Debug.WriteLine(subElement.Value);
}
}
希望对您有所帮助
您可以使用带有断点的 Visual Studio 调试器轻松解决此问题。这样做,您可以检查变量 element
的值,即 this
<ProductData>
<ProductCat1>02</ProductCat1>
<ProductSubCat1>000</ProductSubCat1>
<ProductQty1>32.00</ProductQty1>
<ProductCat2>03</ProductCat2>
<ProductSubCat2>000</ProductSubCat2>
<ProductQty2>72.00</ProductQty2>
</ProductData>
为了得到你想要的东西,你需要这个修改后的代码:
foreach (XElement element in doc.Descendants("ProductData"))
{
foreach (var xElement in element.Elements())
{
MessageBox.Show(xElement.Name.ToString());
MessageBox.Show(xElement.Value);
}
}