我的问题
首先我有一个带有无效语法的xml文件,第二个我无法做任何改变它,因为公司正在提供xml。
我有需要释放空间的元素节点,我怎样才能做到这一点VIA C#.NET
我也可以选择通过CSV格式获取数据,认为将值替换为CSV而不是某些XML String可能更容易,但我只是不知道如何或最好的方式。 / p>
示例
提供:
<Avg Pos> value </Avg Pos>
必需:
<AvgPos> value </AvgPos>
答案 0 :(得分:0)
您可能会更好地获取CSV,因为他们为您提供的XML格式不正确。在XML中,由于标记命名的工作方式,“TagName”和“Tag Name”之间存在巨大差异。听起来他们提供的是完全无效的XML(根据你给出的例子,没有XML客户端能够正确读取它);您应该尝试让他们更正错误,但如果他们不能/不能,请尝试处理CSV。
答案 1 :(得分:0)
你最好告诉他们XML的真正含义,因为你在那里发布的东西远离任何有权被称为XML的东西......
在这种情况下,请转到CSV,读取每一行并删除空格(例如_Row.Replace(" ", "");
),将其保存在新的.XML中,您应该好好去。
答案 2 :(得分:0)
如果标签内部没有任何属性,您可以:
但如果我的雇主给了我这些东西并说它是XML,我知道是时候换工作了。
答案 3 :(得分:0)
这真的是我想要的......
TextReader origXML = new StreamReader(iReportPath + iFileName);
string validXMLString = HttpContext.Current.Server.HtmlEncode(origXML.ReadToEnd().ToString());
validXMLString = validXMLString.Replace("Avg Pos", "AvgPos");
validXMLString = validXMLString.Replace("Avg CPC", "AvgCPC");
validXMLString = validXMLString.Replace("Gr. Rev", "Gr.Rev");
validXMLString = HttpContext.Current.Server.HtmlDecode(validXMLString);
origXML.Close();
validXMLString
价值就是我所需要的!