使用 XmlSerializer 创建具有属性和值但没有子元素的元素
希望这对于那里的人(也可能是骗子)来说应该是一个简单的答案,但我似乎无法弄清楚。
我需要输出一个看起来像这样的元素:
<Quantity foo="AB" bar="CD">37</Quantity>
我知道如何得到这个:
<Quantity foo="AB" bar="CD">
<qty>37</qty>
</Quantity>
使用包含的 Quantity 类
public int qty;
[XmlAttribute]
public string foo;
[XmlAttribute]
public string bar;
,但是当然,我插入数量的任何变量都会成为它自己的子元素。
另一方面,如果我将 Quantity 设置为父元素中的变量,那么我可以设置该值并获取
<Quantity>37</Quantity>
,但我不知道如何获取属性。
如果没有一种简单的方法来使用 XmlSerializer 执行此操作,我会感到非常惊讶,但我还不知道。有什么想法吗?
Hopefully this should be an easy answer for someone out there (and possibly a dupe), but I can't seem to figure it out.
I need to output an element that looks like this:
<Quantity foo="AB" bar="CD">37</Quantity>
I know how to get this:
<Quantity foo="AB" bar="CD">
<qty>37</qty>
</Quantity>
with a Quantity class containing
public int qty;
[XmlAttribute]
public string foo;
[XmlAttribute]
public string bar;
but then of course whatever variable I insert the quantity into becomes its own sub-element.
On the other hand, if I make the Quantity a variable in the parent element, then I can set the value and get
<Quantity>37</Quantity>
but then I don't know how to get the attributes.
I would be very surprised if there weren't a simple way to do this with XmlSerializer, but I don't know it yet. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在这里找到答案:Xmlserializer - 控制元素属性配对(修订版) 。
操作方法如下:使用 标记 value 属性
[XmlText]
属性。I find the answer here: Xmlserializer - Control Element-Attribute Pairing (revised).
Here is how to do it: mark the value property with the
[XmlText]
attribute.