我有以下包含XML的字符串:
var mystring = "<?xml version="1.0" encoding="UTF-8"?><?adf version="1.0"?>
<adf>
<example url="https://someurl.com/?id=123&hash=6WHnYZwE"
anotherurl="https://someurl.com/status?id=123;hash=6WHnYZwE" something="Hi">
<status>new</status>
<requestdate>2017-11-15T19:45:23-05:00</requestdate>
<Apples>
<color>red</color>
<origin>Washington</make>
</Apples>
</example>
</adf>";
我想从<example>
元素中删除属性,以便
<example url="https://someurl.com/?id=123&hash=6WHnYZwE" anotherurl="https://someurl.com/status?id=123;hash=6WHnYZwE" something="Hi">
变成这个
<example>
我尝试使用String.Replace
将属性替换为空字符串,但属性并不总是相同。任何帮助表示赞赏!
答案 0 :(得分:0)
我的XML解析有点生疏,所以我确信这可以改进。
public void DeleteContentsOfExampleElement()
{
var mystring = @"<?xml version=""1.0"" encoding=""UTF-8""?><?adf
version=""1.0""?>
<adf>
<example url=""https://someurl.com/?id=123&hash=6WHnYZwE""
anotherurl=""https://someurl.com/status?id=123;hash=6WHnYZwE""
something=""Hi"">
<status>new</status>
<requestdate>2017-11-15T19:45:23-05:00</requestdate>
<Apples>
<color>red</color>
<origin>Washington</origin>
</Apples>
</example>
</adf>";
var document = new XmlDocument();
document.LoadXml(mystring);
var exampleElements = document.GetElementsByTagName("example");
foreach (XmlNode exampleElement in exampleElements)
{
exampleElement.Attributes?.RemoveAll();
}
}