gpt4 book ai didi

c# - 如何将未转义的 XML 放入类的 XmlText 字段中?

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:24 25 4
gpt4 key购买 nike

我有一个类,我想在其中放置未转义的 XML(实际上是 HTML)。它不符合规范,因为它可以是任意 html。我怎样才能以声明的方式实现这一点?

例如:

public class Material
{
[XmlElement(ElementName = "mattext")]
public string MaterialText { get; set; }


public bool ShouldSerializeMaterialText()
{
return !string.IsNullOrEmpty(MaterialText);
}
}

如果你输入:<p>test</p>进入MaterialText , 它产生 &lt;p&gt;test&lt;/p&gt;在它的序列化输出中。我如何修改它以生成字符串文字 AS XML 而不是转义序列?

明确地说,我正在寻找的输出是:<mattext><p>test</p></mattext>

顺便说一句 - 这不是我的第一选择,但不幸的是,这是必须遵守的其他人的架构。

谢谢!

最佳答案

如果您不能使用 CDATA 部分,则必须使用以下解决方法:

public class Material
{
[XmlIgnore]
public string MaterialText { get; set; }

[XmlElement(ElementName = "mattext")]
public XmlElement MatText
{
get {
var doc = new XmlDocument();
doc.LoadXml(MaterialText);
return doc.DocumentElement;
}
set { /* implement in a similar way */ }
}

(你当然可以为 getter 添加某种缓存)

关于c# - 如何将未转义的 XML 放入类的 XmlText 字段中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17978619/

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