我想从以下XDocument结构中删除特定值:
<plist version="1.0">
<dict>
<key>Main</key>
<array>
<dict>
<key>Password</key>
<string>*********</string>
<key>Username</key>
<string>testuser</string>
</dict>
</array>
<key>Profile</key>
<string>test profile 1</string>
</dict>
</plist>
假设我想删除与key = Password关联的字符串值,我该怎么做?
答案 0 :(得分:2)
您可以使用XPath检索密码元素并重置其内容:
var passwords = document.XPathSelectElements("//key[text()='Password']/following-sibling::string[1]");
foreach(XNode elem in passwords)
{
elem.SetValue(string.Empty);
}
当然,接下来你必须保存文件。
它的作用是识别密码键元素,然后识别下一个兄弟。这假定订单始终与示例中的相同:第一个键,然后是字符串。