问题标签 [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 投票
1 回答
1150 浏览

wpf - WPF Master -Detail 绑定 XElement

我有一个具有以下结构的 XElement

我有一个名为“documents”的列表框,它以下列方式绑定到 XElement:

我想要第二个名为“pages”的 ListBox,其 ItemsSource 是基于第一个列表框中所选文档的页面。

来源,上面的说法是行不通的。当我尝试以下 ItemsSource="{Binding ElementName=documents,Path=SelectedItem}操作时,“页面”列表框确实绑定到正确的文档,但它收到绑定错误“ReferenceConverter 无法从 System.Xml.Linq.XElement 转换”

我想我已经很接近了,但是在让它工作时遇到了问题。如何正确地将“页面”列表框绑定到“文档”列表框的 SelectedItem?

谢谢!

0 投票
2 回答
5615 浏览

c# - 将 XML 部分反序列化为对象

我有一些可反序列化为业务对象的 XML。我正在使用 XmlSerializer.Deserialize 这样做。但是,我希望 XML 中包含的 XmlElement 之一保持 XElement。

它不能直接完成(使用 XmlElementAttribute),因为 XElement 不可序列化。我还尝试将该元素序列化为字符串(分两步尝试获取 XElement),但失败并出现错误:

意外的节点类型元素。readelementstring 方法只能在内容简单或为空的元素上调用

知道怎么做吗?

这是 xml 的示例和我想要的结果对象:

目的:

无效的尝试:

0 投票
1 回答
228 浏览

c# - 传递 XElement 时如何在 MVC 中命名文本框

我将 XElement 传递给我的编辑视图,并希望为我构建常用的 HTML 控件并正确命名。我的代码是:

但这会产生以下结果:

为什么会这样?如何让视图生成合理命名的(例如)文本框?

谢谢,

马特。

0 投票
1 回答
1667 浏览

xml - CSharp如何从字符串生成/解析多个XElements

我有一个 XElement,我需要从字符串中添加更多元素。该字符串包含我需要解析的多个 xml 元素。我已经尝试过 XDocument.Load 和 XElement.Parse 但出现错误。该文件的内容如下:

从此字符串中读取所有元素并将它们添加到现有 XElement 的最佳方法是什么?

0 投票
1 回答
1853 浏览

c# - 如何只搜索 XDocument 的子项,而不是其所有后代?

XDocument.Descendants ()除了在文档中,我似乎找不到任何东西。有没有办法做到这一点?

0 投票
3 回答
8309 浏览

xml - 如何读取大型 xml 文件而不将其加载到内存中并使用 XElement

我想读取一个大的 xml 文件(100+M)。由于它的大小,我不想使用 XElement 将它加载到内存中。我正在使用 linq-xml 查询来解析和读取它。

最好的方法是什么?关于 XPath 或 XmlReader 与 linq-xml/XElement 组合的任何示例?

请帮忙。谢谢。

0 投票
1 回答
5669 浏览

whitespace - 如何从 XElement.ReadFrom(XmlReader) 创建的 XElement 对象中删除空格

我正在解析一个大的 xml 文件。所以我将 XmlReader 与 XElement 结合使用,而不是 XElement.Load()。

我已从 XmlReader 创建为 XElement 对象,如下所示和此处

我想将此 XElement 对象内容作为字符串保存在数据库中,不带空格。以下 3 种方式均无效。请注意,如果我使用 XElement.Load() 将 xml 加载到内存中,则 ToString(SaveOptions.DisableFormatting) 有效。

我用于 XmlReader 对象的 XmlReaderSettings 如下所示。我尝试了 IgnoreWhitespace =true/false 但没有运气,但我无法将其设置为 true,因为跳过了某些元素(关于跳过的原因,请参阅Why does XmlReader skip every other element if there is no whitespace separator?)。

如果我解析 XElement 对象,它会起作用,但这违背了使用 XmlReader 的全部目的,因为 XElement.Parse() 将 xml 加载到内存中。

如何删除空格?

编辑:这是我必须做的:

  1. 元素跳过是由于两次读取reader.Read(),并且XElement.ReadFrom(reader)在同一次迭代中,因此跳过了所有其他元素。修复上面链接中提到的循环可以解决这个问题。这个问题与XmlReaderSettings.
  2. xelement.ToString(SaveOptions.DisableFormatting)删除漂亮的格式。
0 投票
2 回答
1877 浏览

c# - 为什么这个 XElement 查询不适用于我的 xml

我的 xml 看起来像:

到目前为止,我的代码是:

我收到一条错误消息:

我的查询错了吗?

我单步执行了代码,它在 XElement 的行上出错了。

0 投票
3 回答
1922 浏览

c# - 为什么 XElement 在解析带有 xmlns 的 xml 文件时会崩溃?

所以我试图解析一个xml文件:

使用以下代码:

除非我从 xml 文件中删除 xmlns="http://foo.co.uk/nan" ,否则不会将任何内容写入控制台,之后,我会得到一个属性名称和值的列表,正如我所期望的那样,并且我需要!

编辑:格式化。

0 投票
2 回答
1579 浏览

wcf - WCF - 使用 XElement.Load 读取服务中的 xml 文件

我在 wcf 服务中有一个简单的 xml 文件,我正在尝试使用未读取文件的 Xelement.Load("sample.xml") 加载该文件。这样做的正确方法是什么?

该服务应该将 xml 返回到 asp.net 应用程序。

TIA