You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将XDocument序列化结果包装为指定XML格式?

解决方案

你需要在生成的XML外层包裹<results>节点,并添加XML声明和指定命名空间,修改后的代码如下:

// 按原逻辑解析JSON为XDocument
var originalXml = XDocument.Load(JsonReaderWriterFactory.CreateJsonReader(
    Encoding.ASCII.GetBytes(responseString.ToString()), 
    new XmlDictionaryReaderQuotas()));

// 创建带指定命名空间的results根节点
XNamespace xsdNs = "http://www.w3.org/2001/XMLSchema";
XNamespace xsiNs = "http://www.w3.org/2001/XMLSchema-instance";
var resultsElement = new XElement("results",
    new XAttribute(XNamespace.Xmlns + "xsd", xsdNs),
    new XAttribute(XNamespace.Xmlns + "xsi", xsiNs));

// 将原root节点添加到results节点下
resultsElement.Add(originalXml.Root);

// 创建包含XML声明的最终XDocument
var finalXml = new XDocument(
    new XDeclaration("1.0", null, null),
    resultsElement);

关键说明:

  • 保留原有JSON转XML的核心逻辑,先得到包含<root>节点的文档
  • 手动构造<results>节点并添加要求的两个命名空间属性
  • 将原<root>节点作为子节点嵌入<results>中
  • 显式添加XML声明,确保输出包含<?xml version="1.0"?>

这样生成的XML就会完全匹配你预期的格式。

内容的提问来源于stack exchange,提问作者pujari siri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:15:39