gpt4 book ai didi

c# - 将 XDocument 转换为 XmlDocument,反之亦然

转载 作者:IT王子 更新时间:2023-10-29 03:30:04 25 4
gpt4 key购买 nike

这是我遇到的一个非常简单的问题。我使用 XDocument 生成 XML 文件。然后我想将它作为 XmlDocument 类返回。我有一个 XmlDocument 变量,我需要将其转换回 XDocument 以附加更多节点。

那么,在 XDocument 和 XmlDocument 之间转换 XML 的最有效方法是什么? (不使用文件中的任何临时存储。)

最佳答案

您可以使用内置的 xDocument.CreateReader() 和 XmlNodeReader 来回转换。

将其放入扩展方法中以使其更易于使用。

using System;
using System.Xml;
using System.Xml.Linq;

namespace MyTest
{
internal class Program
{
private static void Main(string[] args)
{

var xmlDocument = new XmlDocument();
xmlDocument.LoadXml("<Root><Child>Test</Child></Root>");

var xDocument = xmlDocument.ToXDocument();
var newXmlDocument = xDocument.ToXmlDocument();
Console.ReadLine();
}
}

public static class DocumentExtensions
{
public static XmlDocument ToXmlDocument(this XDocument xDocument)
{
var xmlDocument = new XmlDocument();
using(var xmlReader = xDocument.CreateReader())
{
xmlDocument.Load(xmlReader);
}
return xmlDocument;
}

public static XDocument ToXDocument(this XmlDocument xmlDocument)
{
using (var nodeReader = new XmlNodeReader(xmlDocument))
{
nodeReader.MoveToContent();
return XDocument.Load(nodeReader);
}
}
}
}

来源:

关于c# - 将 XDocument 转换为 XmlDocument,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1508572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com