【发布时间】:2020-01-31 09:00:39
【问题描述】:
我有一个 XML 如下:
<?xml version="1.0" encoding="utf-8"?>
<Report ReportType="Time_Data">
<Parameters>
<Parameter>
<Name>P_400Meter</Name>
<Caption>400 Meter race:</Caption>
<Categories>
<Category>Race</Category>
</Categories>
<Values>
<Value>3</Value>
<Value>2</Value>
<Value>3</Value>
<Value>4</Value>
</Values>
<Color />
<Range> <= 3</Range>
</Status>
</Parameter>
</Parameters>
</Report>
我已经用下面的代码更新了上面的xml;
foreach (XmlNode xn in xnl)
{
tmpStrData = "";
CatStr = "";
foreach (XmlNode xn_node in xn.ChildNodes)
{
if (xn_node.Name == "Categories")
{
foreach (XmlNode xn_CatNode in xn_node.ChildNodes)
{
CatStr = xn_CatNode.InnerText;
}
}
else if (xn_node.Name == "Values")
{
foreach (XmlNode xn_ValNode in xn_node.ChildNodes)
{
tmpStrData = tmpStrData + "<" + xn_ValNode.Name + ">" + xn_node.InnerText.Replace("<", "<").Replace(">",">") + "</" + xn_ValNode.Name + ">";
}
}
else
{
tmpStrData = tmpStrData + "<" + xn_node.Name + ">" + xn_node.InnerText + "</" +
xn_node.Name + ">";
}
}
MainParameters = MainParameters + "<" + CatStr + ">" + tmpStrData + "</" + CatStr + ">"; }
现在更新后的 xml 如下所示;
<?xml version="1.0" encoding="utf-8"?>
<Report ReportType="Time_Data">
<Parameters>
<Race>
<Name>P_400Meter</Name>
<Caption>400 Meter race:</Caption>
<Value>3</Value>
<Value>2</Value>
<Value>3</Value>
<Value>4</Value>
</Race>
</Parameters></Report>
现在我需要以不需要值节点在所有行中都相同的方式编辑 xml,我希望它是这样的;
<Value1>3</Value1>
<Value2>2</Value2>
<Value3>3</Value3>
<Value4>4</Value4>
我陷入了困境。请帮帮我。
【问题讨论】:
标签: c# xml xmldocument