如何读取包含内容的 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<A>
<B value="1">
<Hash algo="SHA256" value="905C45B51B970434D7159641D9F6A88DC91E9C35030618A729C8E4BE174711AF" />
</B>
<B value="2">
<Hash algo="SHA256" value="649721FF455E9B100E691A3857696350E14364029C34C9438AB3EA9665C91292" />
</B>
<B value="3">
<Hash algo="SHA256" value="90FC91C4B82BF440FDAFECF3303DCA8FB9F2E9D7EFFAE394D8B74D0C7CD7DA10" />
</B>
</A>
在上面的 xml 文件中,我想读取所有B
标签的“值”属性值和标签Hash
“算法”或“值”属性值的值。
这是我正在使用的代码:
var settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true;
using (var stm = new FileStream(@"xmlFilePath", FileMode.Open, FileAccess.Read, FileShare.Read))
using (var reader = XmlReader.Create(stm, settings))
{
while (reader.Read())
{
string srcFileHash=null;
reader.ReadToDescendant("B");
if (reader.NodeType == XmlNodeType.Element && reader.LocalName == "B")
{
reader.MoveToAttribute("value");
var bValue=reader.Value; // get the B tag attribute value.
//also want to read the <hash value=? and algo=?. but I dnt know how to get these hash tag attributes.
}
}
}