我有一个xml响应字符串,我想更改一个值并记录它。
<xml>
<ns2:abcd>
<password>sample</password>
</ns2:abcd>
我想将密码值更改为加密版本。
我已经尝试过使用XmlDocument.SelectSingleNode
,但我认为还有比这更好的方法吗?
答案 0 :(得分:3)
顺便说一下,你需要声明ns2
名称空间,否则你的xml将无效。添加命名空间定义后,您可以使用Linq解析和修改xml到Xml:
XDocument xdoc = XDocument.Parse(xml);
var passwordElement = xdoc.XPathSelectElement("//password");
passwordElement.Value = Encrypt((string)passwordElement);
xdoc.Save(path_to_xml);
答案 1 :(得分:0)
您也可以考虑查看xsd.exe。使用xsd.exe,您可以将xml反序列化为类型安全的对象模型。从那里,很容易操纵数据。