1

再会!

如何访问这部分 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");
4

3 回答 3

2

如果您想要的行为是获取根节点,那么您可以使用xmldoc.DocumentElement.

您可以使用 Name 属性获取任何 XMLElement 的名称。

于 2012-06-04T12:16:41.943 回答
0

使用正则表达式

Pattern = @"\?>\s*?<(?<Name>.*?)>.*?</(1)>"
于 2012-06-04T12:28:58.670 回答
0

如果您不需要文档的其余部分,则不要使用XmlDataDocument(obsolete btw) or将整个内容读入内存XmlDocument,而是使用XmlReaderinsted (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)
            }
于 2012-06-04T12:37:17.347 回答