c# - 如何创建包含前缀但没有包装器的 XElement?
问题描述
我正在尝试像这样创建一个简单的空 XElement:
<dyn:Positions>
<Vector2-Array>
</Vector2-Array>
</dyn:Positions>
我有上面定义的命名空间:
XNamespace dyn = "https://www.abc.at/dyn";
但是当我创建 XElement 时:
XElement positions = new XElement(dyn + "Positions", new XElement("Vector2-Array"));
结果是这样的:
<Positions xmlns="dyn">
<Vector2-Array xmlns="" />
</Positions>
如果不将其包装在另一个 XElement 中,这可能吗?因为我需要这个元素稍后附加到另一个文档中,在里面添加更多元素之后。
解决方案
我认为您希望 Vector2-Array 与Positions 位于同一命名空间中,然后在输出中看不到它:
XElement positions = new XElement(dyn + "Positions",
new XElement(dyn + "Vector2-Array"));
这给了
<Positions xmlns="https://www.abc.at/dyn">
<Vector2-Array />
</Positions>
该dyn:
表示法只是一种简写,以后将其合并到某些父 XML 中时并不重要。您应该非常确定所有内容属于哪个命名空间。
推荐阅读
- apache-spark - YARN 上的 Spark:提交的作业与接受的作业?
- javascript - 如何在 IntelliJ IDEA 的 Mocha 测试中使用 ES6 导入?
- java - 例外:生成不完整的 JSON
- .net - 如何使用 PowerShell 以编程方式禁用 Windows 安全模式
- r - 如何将 Have_labelled 变量更改为适合 R 的因子和数值变量?
- ios - 带有 backgroundImage 的 SwiftUI 中的透明导航栏
- apple-news - Apple News 报道标题中的背景颜色
- google-analytics - 如何在 Google Analytics 中获得流失率?
- jekyll - 如何在特定日期显示 Jekyll Collection 项目?(液体语法问题?)
- python - 无法使用 Python 在 Ubuntu 上运行 Selenium