你可以使用這個純字符串方法的方法:
string input = @"<ParentNode>
<ChildNode>Special `[email protected]#$%^&*()_+-=[]|:;\'/.,<>? message0</ChildNode>
</ParentNode>";
int indexOfChildNode = input.IndexOf("<ChildNode>", StringComparison.InvariantCultureIgnoreCase);
if (indexOfChildNode >= 0)
{
int endIndexOfChildNode = input.IndexOf("</ChildNode>", indexOfChildNode + "<ChildNode>".Length, StringComparison.InvariantCultureIgnoreCase);
if (endIndexOfChildNode >= 0)
{
string before = input.Substring(0, indexOfChildNode);
string after = input.Substring(endIndexOfChildNode + "</ChildNode>".Length);
int indexToken = indexOfChildNode + "<ChildNode>".Length;
int length = endIndexOfChildNode - indexToken;
string token = input.Substring(indexToken, length);
input = string.Format("{0}<ChildNode>{1}</ChildNode>{2}"
, before
, token.Replace(">", ">").Replace("<", "<")
, after);
}
}
但是,如果你只是想更換<>
它的簡單得多:
input = input.Replace("<>","<>")
則可以修復XML的源產生有效XML在第一位? –
所以你有這個字符串?或者它是一個XML文件?我很困惑 – greenfeet
編號string.Format()是要格式化顯示。 string.Replace()是你想要的。 – dman2306