【问题标题】:Colons in attributes get truncated by XmlDocument?属性中的冒号被 XmlDocument 截断?
【发布时间】:2013-03-07 02:28:14
【问题描述】:

我正在尝试将带有冒号的属性添加到新元素,但在保存到文件时它会被剥离?我正在尝试为一些遗留应用程序编写它来解释,所以我无法控制 XML 的格式。那么如何添加带有冒号的属性呢?

var element = doc.CreateElement("item");
element.SetAttribute("name", "Something");
element.SetAttribute("type:this", "MyClass.Somewhere");

目前,上述结果为<item name="Something" this="MyClass.Somewhere" name="Something" />,但我希望它的结果为<item name="Something" type:this="MyClass.Somewhere" />。关于如何实现这一点的任何想法?

【问题讨论】:

  • 属性名称中不能有冒号。你想达到什么目的?您是否尝试使用 XML 命名空间?
  • 不,我正在尝试从旧版 CMS 系统修改 XML 文件。我无法控制 XML 的格式。我只是想克隆一个节点并修改它。
  • 文件中是否有“类型”前缀的定义?也许像xmlns:type="someUri"这样的东西?
  • 是的,有!
  • @TruMan1:使用该命名空间添加属性。它应该可以工作(即使前缀会不同),只需指定命名空间urn:jugnut:configuration:type

标签: c# .net xml xml-serialization


【解决方案1】:

根据hakre的评论:

attributenamespace 添加。它应该可以工作(即使前缀会不同),只需指定namespace urn:jugnut:configuration:type

【讨论】:

    猜你喜欢
    • 2021-03-30
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多