如果我有一个xmlreader实例,我如何使用它来读取它的当前节点并最终获得一个xmlElement实例?如何从xmlReader的当前节点创建xmlElement?
10
A
回答
8
没有测试,但是通过XmlDocument
怎么样:
XmlDocument doc = new XmlDocument();
doc.Load(reader);
XmlElement el = doc.DocumentElement;
或者(从cmoment),是这样的:
doc.LoadXml(reader.ReadOuterXml());
但其实我不是一个风扇..它会强制执行一个额外的xml解析步骤(更昂贵的操作之一),原因不明。如果原来是被出问题的话,或许考虑子阅读器:
using (XmlReader subReader = reader.ReadSubtree())
{
XmlDocument doc = new XmlDocument();
doc.Load(subReader);
XmlElement el = doc.DocumentElement;
}
+0
将第2行更改为doc.LoadXml(reader.ReadOuterXml());所以我可以接受。谢谢。 – 2008-11-12 16:37:42
2
假设你有XmlDocument的,你需要附加新创建的XmlElement:
XmlElement myElement;
myXmlReader.Read();
if (myXmlReader.NodeType == XmlNodeType.Element)
{
myElement = doc.CreateElement(myXmlReader.Name);
myElement.InnerXml = myXmlReader.InnerXml;
}
从docs:不要不直接实例化XmlElement;相反,使用诸如CreateElement之类的方法。
相关问题
- 1. 从XmlElement创建XPathDocument
- 2. 使用PHP的XMLReader,我如何获得当前节点的行号?
- 3. 如何从XmlReader创建XML文件?
- 4. 从部分XML创建XMLElement
- 5. XmlReader - 以字符串形式读取当前节点
- 6. php DomXPath - 如何从当前节点的父节点中选择子节点?
- 7. 创建从父节点的子节点
- 8. 无法从XmlElement中选择根节点
- 9. XMLReader的子节点值
- 10. 的XMLReader遍历节点
- 11. 如何从文件创建Zookeeper节点?
- 12. 如何从子节点创建数组?
- 13. 如何处理XmlReader的异常。创建
- 14. CQ从当前节点(当前组件)访问深层子节点的属性
- 15. 用XMLReader读取子节点
- 16. C#XMLreader和子节点
- 17. XmlReader原样返回节点
- 18. 如何获取当前节点的父节点名称?
- 19. 如何限制树节点从flex 3中的当前节点拖出?
- 20. 如何修改当前td节点类
- 21. React树 - 如何删除当前节点?
- 22. 检索从当前节点的属性节点列表
- 23. 如何在创建之前定义节点的行为?
- 24. 的XmlElement数组作为特定节点
- 25. 如何从树视图当前选择的节点在C#
- 26. 如何从当前顺序的OutlineView中获取节点?
- 27. 如何找到当前节点(n)和前一个节点(n-1)的差异
- 28. 创建两个以前断开节点
- 29. 从BST返回当前节点
- 30. 如何从XElement.ReadFrom(XmlReader)创建的XElement对象中删除空格
你真的想要XmlElement,而不是XElement吗? – 2008-11-12 17:07:40