问题标签 [xelement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1572 浏览

xml - 根据属性删除 XElement

我还在玩xml。现在我有一个看起来像这样的文件:

总共有 300 个属性节点,其中大部分我不需要。我想做的是删除所有没有为 id 属性指定值的 Attribute 节点。我已经建立了一个包含大约 10 个值的字符串数组。这些值代表我想保留在 xml 中的属性。其余的我想删除。

我试图用下面的代码做的是通过删除我不想使用的所有属性节点来修改 xml:

出于某种原因,我的代码不起作用。不删除不需要的属性节点。

有什么问题?如何删除 id 属性值与字符串数组中的任何数字都不匹配的 Attribute 节点?

提前致谢。

PS - 我希望我在描述我的问题时说清楚了。

0 投票
2 回答
10598 浏览

encoding - 如何最好地检测 XML 文件中的编码?

要加载具有任意编码的 XML 文件,我有以下代码:

这可行,但是两次打开文件似乎效率低下。有没有更好的方法来检测编码,这样我就可以做到:

  1. 打开文件
  2. 检测编码
  3. 将 XML 读入 XElement
  4. 关闭文件
0 投票
2 回答
9035 浏览

c# - XML 序列化注解

我有一个不想修改的 xml 文件的情况。XElement 类中的 AddAnnotation 函数提供了一个选项来添加未序列化且不属于 XML 的仅内存数据。

我希望能够保存这些注释(例如:到另一个 xml 文件),然后对 xml 和注释进行反序列化,以便获得与我相同的对象。

我不想更改原始 xml,这就是我使用注释的原因。

总而言之,我希望能够将自定义数据添加到 xml 文件中。当我序列化它时,这些数据不会成为 xml 的一部分,或者它将成为 xml 的一部分,但我可以轻松地检索原始 xml。

你有什么建议我可以做这样的事情吗?

编辑:我应该使用 xml 处理指令吗?处理指令是否适用于这种用途?

0 投票
1 回答
620 浏览

c# - 如何将 DataTemplate 应用于 XElement 子类?

当我从 子类化时XElementDataTemplate适用于XElement将元素名称用作 的DataType,不适用于子类。任何想法?

0 投票
3 回答
3171 浏览

asp.net - 加载 IEnumerable收藏

哪来的???是,我可以添加路径还是必须是单个 xml 元素名称?

IE。我可以做 /blah/blah2/asdf 吗?

0 投票
1 回答
1147 浏览

xml - 在 ASP.NET MVC 中自动绑定“XElement”属性

我有一个“编辑”操作和一个“编辑”视图,允许用户更新数据库中的某个实体。

它的数据库类型是“XML”,DataContext(我使用的是 Linq-to-SQL)将它表示为“XElement”类型的属性。

在我看来,我从属性的“ToString()”输出中渲染一个文本区域,如下所示:

从对象中提取数据时这很好用,但是当我尝试将新数据发回时,它会返回为空白。

我认为这是因为自动绑定器不知道如何处理 XElement 类型的属性。

有没有办法解决这个问题,或者以某种方式自定义自动绑定器的行为,以便正确反序列化传入的数据?

0 投票
6 回答
3015 浏览

c# - 如何使用字符串中的 XML 标记?

我正在使用 Microsoft Visual C# 2008 Express。

假设我有一个字符串,字符串的内容是: "This is my <myTag myTagAttrib="colorize">awesome</myTag> string."

我告诉自己我想对“真棒”这个词做点什么——可能调用一个函数来做一些叫做“着色”的事情。

C# 中检测此标记是否存在并获取该属性的最佳方法是什么?我在 C# 中使用过 XElements 等,主要与读入和读出 XML 文件有关。

谢谢!

-阿迪娜

0 投票
1 回答
92 浏览

.net - 共享 XElement 作为 SiteMap

我有一个自定义 CMS,我在其中使用静态 XElement 作为站点地图。当地图发生更新时,我正在同步编写器线程,但对阅读器不做任何事情,只是让他们在需要时获取 XElement。

在测试中,我认为如果我从读取器线程枚举 XElement,而我在另一个写入线程上更新它,我会得到一个异常。事实并非如此。只是想知道是否有人可以向我解释他们是否发现这种方法有任何重大问题。它似乎不应该是安全的,但到目前为止我的所有测试都表明它是安全的。

0 投票
4 回答
2775 浏览

c# - 什么是适合 Web 服务的 XML 类型?

当前实施

Sql Server 2005 数据库带有一个名为 messages 的表和一个名为 MessageXml 的 xml 类型的列。

具有 Linq to Sql 类的 C# 库项目,该类生成一个名为 Message 的类,其中包含一个名为 MessageXml 的 XElement 类型的字段。

WCF Web 服务公开一个 MessagePayload 类,该类具有一个名为 MessageXml 的 XElement 类型的属性。

该网络服务不提供我由 Linq to Sql 创建的 Message 类。我使用一个轻量级的物体作为中间人。

问题

XElement 真的是我想在 WCF 服务中使用的类型,还是有更好的类型。打算传递给服务的 xml 应该是一个完整的文档。此外,我在将 xml 文档作为 XElement 加载时遇到了一些麻烦。我认为我应该在服务的轻量级类中公开一个完整的 xml 文档类型,但我对 XDocument 和 XmlDocument 之间的区别有点困惑。

最重要的是,我无法使用 XDocument 类型的属性公开 WCF Message 类,因为它包含无法序列化的 XDeclaration 类型的属性。

如果我使用 XmlDocument,那么我必须在 Linq 类和轻量级类之间的翻译中对 xml 类型进行这种奇怪的转换。

XmlDocument 似乎是正确的,我知道我必须做一些翻译,但希望尽可能接近合适。

0 投票
1 回答
990 浏览

c# - XElement:所有叶子的集合?

无论层次结构如何,如何获取 XElement 树的所有叶子的集合?谢谢