我有XML字符串,想要替换我的一个属性的值。是否可以使用string.format替换值?
例如:XML String如下所示:
<ParentNode>
<ChildNode>Special `~@#$%^&*()_+-=[]|:;\'/.,<>? message0</ChildNode>
</ParentNode>
现在我要将<>
替换为<>
如何操作字符串来替换这些字符?
答案 0 :(得分:-1)
您可以使用此纯字符串方法方法:
string input = @"<ParentNode>
<ChildNode>Special `~@#$%^&*()_+-=[]|:;\'/.,<>? 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("<>","<>")