美好的一天!
如何访问XML的这一部分并打印元素名称? 请参考下图。
我现在无法使用以下代码:
XmlDataDocument xmldoc = new XmlDataDocument();
XmlNode xmlnode;
FileStream fs = new FileStream(@"D:\Files\20120604\Data_120604-062516_003.xml", FileMode.Open, FileAccess.Read);
xmldoc.Load(fs);
//MessageBox.Show("YUMDMMATMAS05");
答案 0 :(得分:2)
如果您想要的行为是获取根节点,那么您可以使用xmldoc.DocumentElement
获取它。
您可以使用Name属性获取任何XMLElement的名称。
答案 1 :(得分:0)
使用Regex
Pattern = @"\?>\s*?<(?<Name>.*?)>.*?</(1)>"
答案 2 :(得分:0)
如果您不需要文档的其余部分,那么请不要使用XmlDataDocument
(过时顺便说一句)或XmlDocument
将整个内容读入内存,但请使用XmlReader
insted( XmlTextReader
也有点过时了):
using(var reader = XmlReader.Create(new FileStream(@"D:\Files\20120604\Data_120604-062516_003.xml", FileMode.Open, FileAccess.Read), new XmlReaderSettings { CloseInput = true, DtdProcessing = DtdProcessing.Ignore, IgnoreComments = true, IgnoreProcessingInstructions = true, IgnoreWhitespace = true }))
{
XmlNodeType nt;
do
{
nt = reader.MoveToContent();
if(nt == XmlNodeType.Element) {
MessageBox.Show(nt.Name);
break;
}
}
while(nt != XmlNodeType.None)
}