如何在XMLNode C中设置json:Type=“Decimal”属性#

How to set json:Type="Decimal" Attribute in XMLNode C#

提问人:BenjaminR 提问时间:1/2/2023 更新时间:1/2/2023 访问量:35

问:

我想将属性json:Type=“Decimal”设置为XML节点。

我有XML文档

<root>
 <a>12.55</a>
 <b>Test</b>
</root>

现在我想设置属性

json:Type="Decimal"

在 XML 节点中

<a>12.55</a>

它看起来像

<a json:Type="Decimal">12.55</a>

我尝试了以下代码

XmlAttribute att = Doc.CreateAttribute("Type");
att.Prefix = "json";
att.Value = "Decimal";
node.Attributes.Append(att);

但结果是

<a Type="Decimal">12.55</a>

谁能帮我!

原来的问题从这里开始

C# 属性 decimal xmldocument xmlnode

评论

1赞 Ralf 1/2/2023
CreateAttribute 有一个重载,该重载也采用前缀。使用那个。链接中提出的解决方案是疯狂的。我敢肯定,这从来没有进入 Json.Net。如果你想在 Xml 和 Json 之间进行转换,请查看另一个答案并创建一个适当的类来序列化/反序列化这两种格式,并将其用作中间。
0赞 madreflection 1/2/2023
该重载采用完整的 URI,而不是前缀,因为它的名称是 。然后,您必须在某个位置声明要用于该命名空间 URI 的前缀,无论是在该元素上还是在某个祖先元素上,如下所示: .了解 XML 命名空间。这并不像添加前缀那么简单。namespaceURIxmlns:json="..."

答: 暂无答案