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

使用System.Xml.Linq序列化带命名空间和文本值的XElement问题

解决方法

你只需要在创建XElement时,把文本内容"Positive"作为额外参数传入构造函数即可——XElement的构造函数支持同时传入属性和文本内容(或子元素)。

修改后的代码:

XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
XElement oXElement = new XElement(ns + "value",
                             new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"),
                             new XAttribute(xsi + "type", "ST"),
                             "Positive" // 添加这行,作为元素的文本内容
                             );

生成的XML会完全符合你的需求:

<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ST">Positive</value>

原理很简单:XElement的构造函数参数列表中,除元素名称外,后续参数可以是XAttribute、字符串(作为文本节点)、XElement(子元素)等多种类型,框架会自动将字符串解析为元素的文本内容,不会破坏标签结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 10:12:06