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

在R语言中将API返回的XML文本写入XML文件的技术问询

解决方案

在.NET里处理这类需求,完全不用手动写死XML结构,直接用System.Xml.Linq命名空间下的工具类就能搞定,步骤如下:


1. 解析API返回的XML文本

先把API返回的$xml字符串解析成可操作的XML文档对象:

using System.Xml.Linq;

// 假设apiResponseList是API返回的列表,第二个元素为XML字符串
string rawXml = apiResponseList[1].ToString();
XDocument originalDoc = XDocument.Parse(rawXml);

2. 构建目标根节点并迁移内容

创建指定的<be05results>根节点,把原XML里的所有子节点(比如<table>)直接迁移过来:

// 构建带指定属性的目标根节点
XElement targetRoot = new XElement("be05results",
    new XAttribute("version", "10.19.7.22"),
    new XAttribute("date", "4.08.2023 09.32"),
    new XAttribute("company", "SBi"),
    new XAttribute("model", "Zone 1")
);

// 将原XML的直接子节点(如<table>)添加到新根节点下
foreach (XElement child in originalDoc.Root.Elements())
{
    targetRoot.Add(child);
}

// 生成最终的XML文档
XDocument finalDoc = new XDocument(targetRoot);

3. 保存为XML文件

把处理好的XML写入目标文件:

// 保存到指定路径,用UTF8编码避免字符乱码
finalDoc.Save(@"C:\YourTargetPath\be05results.xml", SaveOptions.None);

额外场景处理

如果原XML的根节点已经是<be05results>,只是属性不符合要求,直接修改属性即可,无需重建根节点:

originalDoc.Root.SetAttributeValue("version", "10.19.7.22");
originalDoc.Root.SetAttributeValue("date", "4.08.2023 09.32");
// 其他属性同理修改
originalDoc.Save(@"C:\YourTargetPath\be05results.xml");

这种方式会自动保留原XML里<table>、<row>、<id>、<jan>等所有节点结构,完全不用手动定义每个节点的层级和格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:52:07