问题标签 [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.
c# - C Sharp 用 HTML 实体序列化 XML
我在数据库中有一个字符串,其中包含尖括号(小于/大于)。我需要将字符串插入 XElement,然后将其序列化到客户端设备。现在 html 实体显然已被编码,因此括号显示为 < 和 >,最好的方法可能是使用 HttpUtility.HtmlDecode 将实体解码回客户端设备上。但是我想知道是否有任何方法可以逃避编码并让这些实体按原样发送?
c# - 为什么 XElement 没有 GetAttributeValue 方法?
有时我想知道某些 API 更改的原因。由于谷歌没有帮助我解决这个问题,也许 StackOverflow 可以。为什么微软选择移除GetAttribute
XML 元素上的辅助方法?在System.Xml
世界上,XmlElement.GetAttribute("x")
就像getAttribute
之前的 MSXML 一样,两者都在丢失时返回属性值或空字符串。有XElement
但SetAttributeValue
没有GetAttributeValue
实施。
当然,修改逻辑以测试和使用该属性并没有太多工作,XElement.Attribute("x").Value
但它并不方便,并且以一种方式提供实用程序功能(SetAttributeValue
)但不是另一种方式似乎很奇怪。有没有人知道这个决定背后的原因,以便我可以轻松休息并从中学到一些东西?
c# - 在命名空间中解析 XElement 的优雅解决方案
在我正在进行的一个项目中,我刚刚为我的 XML 编写了一个 XSD,以便其他工程师可以更轻松地处理 XML。与此 XSD 一起出现的是 XML 名称空间。在我当前的解析代码中,我一直在使用这样的东西:
XML 是一个充满常量的类,在整个程序中用于 XML 输入和输出。但是,现在使用了命名空间,这不再起作用了。显而易见但几乎没有优雅的解决方案是进入并使所有解析代码看起来像这样:
再想一想,去定义一个扩展方法来添加到这个命名空间并返回 XElement 看起来会好很多。这个想法会使代码看起来像这样:
到目前为止,这些想法是我用来处理命名空间问题的想法。基本上,我的问题是:
有没有更好的方法来解析具有已知常量命名空间的 XElements?如果是这样,它是什么?
c# - 从 XElement 获取子元素
可能重复:
XElement 的子代
我想使用 C# 从 XElement 获取子元素。如何才能做到这一点?
xml - Xlinq:从保存在 LIst 中的 xml 文件中删除某些 XElement
我在迭代它们时无法删除节点,没关系。'
我有一个包含 Guid 的列表。
我想删除该 xml 文件中的所有 XElement,其中 XElement 具有该列表的 Guid
那是我的xml文件:
这不起作用:xDoc.Descendants("Department ").Remove<XElement>().Where...
我怎样才能使它工作?
.net - 有没有办法创建不可变(只读)XDocument?
我有一个返回XElement
's 的 API,我希望这些XElement
's 后面的文档是不可变的(只读)。我需要它:
- 不要让开发人员能够意外更改它:)
- 提高性能 - 在某些情况下,创建副本
XDocument
可能是性能“繁重”的操作。
似乎不可能继承和覆盖 XDocument
//XElement
中的必要行为XContainer
,因为那里的所有虚拟方法都标记为internal
:
所以我的问题是 - 有没有办法让它发生,或者最好有一个不同的 API 来返回类似XPathNavigator
的东西,或者最好有自己的类IReadOnlyXElement
,等等?
ienumerable - 转换 IEnumerable到 XElement
我的查询的返回类型是IEnumerable<XElement>
. 如何将结果数据转换为XElement
类型?可能吗?一些机构可以帮助我理解这一点。
我必须将 resQ 作为参数传递给下面的函数。为此,我必须将 resQ 转换为 XElement 类型。
linq-to-xml - XElement.Elements(XName name) 不返回 XElement.Elements() 中存在的名称
如您所见,schema.Elements
返回三个元素,其中一个是 EntityContainer 元素。但是,当我尝试通过指定“EntityContainer”(schema.<EntityContainer>
)的元素重载进行搜索时,它不会检索任何内容。
vb.net - 如何动态设置本地 XML 命名空间?
我有几个暴露相同架构的 xml 命名空间。
我想使用一个动态接受命名空间并根据指定命名空间应用属性或属性的函数:
我实际上想将此函数的命名空间结果设置为给定的参数。
看看这篇文章,他做的正是我想要的,但我确信在 VB.NET XML Literals 中有一种比硬编码方式更好的方法。
我知道我可以简单地这样做:
但我想知道是否有一种方法可以在 VB.NET 中包含命名空间惊人的.<>
语言快捷方式。.@
...<>
.net - 如何将 XPath 与 XElement 或 LINQ 一起使用?
考虑以下 XML:
我正在寻找一种非常短的方法来获取<hash>
元素的值。我试过:
但这行不通。是否可以向 提供 XPath 查询XElement
?我可以使用较旧的System.Xml
框架来做到这一点,例如:
LINQ 命名空间中有类似的东西吗?
更新:
在胡思乱想之后,我找到了一种方法来做我想做的事情:
我仍然有兴趣看看是否有人有更好的解决方案?