C#如何在xmlnode中存储网站列表

Posted

技术标签:

【中文标题】C#如何在xmlnode中存储网站列表【英文标题】:C# How to i store website list in xmlnode 【发布时间】:2010-02-13 07:15:14 【问题描述】:

我正在尝试将网站内容存储在 XmlNode 中。 我的网站结构是

站点 1

    列表1

    文件夹 1 文件夹 2 a] 文件1 b] 文件2 文件夹 3

    列表2

站点 2
    列表1 列表2
站点 3 ...... 站点 4 ....................

那么我如何将它存储在 XMLNode 中。我的方法应该将整个结构作为节点返回而不是作为文档。 提前致谢。 编辑:在上述情况下,节点或元素是什么以及如何维护适当的层次结构。

【问题讨论】:

为什么不希望它作为一个文档?毕竟,您可以将文档的根节点用于您的目的吗? 【参考方案1】:

如果解析 html 或创建 XMLNod 时出现问题,您能否更具体一点?这是一个显示通过代码创建 xml 的链接 ti 创建 XMLDocument 但您可以仅使用创建根 XMLNode 的部分

http://www.java2s.com/Code/CSharp/XML/ProgrammaticallycreatinganewXMLdocument.htm

关于解析 html 看这个链接

Looking for C# HTML parser

【讨论】:

【参考方案2】:

听起来您想了解“对象模型”(您的站点结构)并使用此结构构建 XML 文档。

递归函数将是一个选项(伪代码):

BuildRecursiveStructure(SiteStructureNode currentSiteNode, XmlNode buildNode) newNode = xDoc.CreateElement(currentSiteNode.name); buildNode.addChild(newNode); foreach (?? childSiteNode in currentSiteNode.Children) BuildRecursiveStructure(childSiteNode, newNode); XmlDocument xDoc = new XmlDocument(); xDoc.LoadXml(""); BuildRecursiveStructure( SitesInfoRoot? , xDoc.DocumentElement);

希望这会有所帮助,

【讨论】:

以上是关于C#如何在xmlnode中存储网站列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中从 XmlNode 读取属性值?

如何在 c# 2.0/3.0 上选择指定值的 xmlelements xmlnodes xmlattributes

C# XmlNode 具有祖先类型

如何在新窗口中打开一个 URL(在 MS Word 中使用 XMLNode 生成)?

如何从 XmlNode 实例中获取 xpath

在 C# 中确定 XmlNode 是空还是 null?