问题标签 [linq-to-xml]

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 投票
3 回答
40161 浏览

c# - IEnumerable 上的 C# 不同使用自定义 IEqualityComparer

这就是我想要做的。我正在使用 LINQ to XML 查询一个 XML 文件,它为我提供了一个 IEnumerable <T> 对象,其中 T 是我的“村庄”类,其中填充了此查询的结果。有些结果是重复的,所以我想对 IEnumerable 对象执行 Distinct(),如下所示:

由于默认比较器不适用于 Village 对象,我实现了一个自定义比较器,如 AllianceComparer 类中所示:

Distinct() 方法不起作用,因为无论有没有它,我都有完全相同数量的结果。另一件事,我不知道这通常是否可行,但我无法进入 AllianceComparer.Equals() 看看可能是什么问题。
我在互联网上找到了这样的例子,但我似乎无法让我的实现工作。

希望这里的人可能会看到这里可能出了什么问题!提前致谢!

0 投票
1 回答
343 浏览

c# - 使用 C# 我应该如何从 docx 文档中提取标题字幕和段落

使用 C# 我应该如何从 docx 文档中提取标题字幕和段落。

我正在考虑通过 VSTO 做到这一点,但我知道对象模型这个词。我只熟悉 Excel 对象模型。

我应该采用 unzip + linq to XML 的方法吗?

使用 VSTO,我可以构建一个插件,该插件可用于编辑我将转换为 docx 和从 docx 转换的应用程序。

有没有人有过这种事情的经验?任何线索将不胜感激。

0 投票
2 回答
630 浏览

c# - 这是表达此 XDocument 查询的最有效方式吗?

我们使用了一个返回 XML 的第三方 Web 服务,它看起来像(为了简洁而删减):

对于特定的产品代码,我需要获取realm名称,即内部文本:

<a name="realm" format="text">-u@surfuk2</a>

因为每个元素名称要么是要么<block><a>linq 解析为 xml 或查询表达式有点麻烦。

以下是获取特定产品的领域名称(例如 1235)的最有效/最有效/最具表现力的方式:

0 投票
4 回答
2946 浏览

xml - 使用 LINQ to XML 将 HTML 标记保留在 XML 中

我有一个 xml 文件,我使用 LINQ to XML 从中提取 html。这是文件的示例:

我正在使用以下查询从文件中提取“提示”:

我遇到的问题是 Html 元素被剥离了。我希望使用像 InnerHtml 这样的东西来代替 Value,但这似乎并不存在。

有任何想法吗?

提前谢谢大家,

戴夫

0 投票
2 回答
293 浏览

c# - 在 Linq 2 xml 方面需要一点帮助

我有一个与此类似的场景:

}

好的,这非常简化。....但它仍然无法正常工作。关于我在这里做错了什么的任何想法?

编辑:

哦,差点忘了。问题是xmlTree.Element("MyObject")返回一个空的 linq 序列。即使我清楚地有一个名为“MyObject”的节点。

0 投票
1 回答
3196 浏览

xml - 将 XML 命名空间属性添加到第 3 方 xml?

我正在使用 VB 2008,并且正在尝试将 xmlns="mynamespace" 属性添加到 XDocument 的根元素。

XML 文档由第 3 方创建,我已将其加载到 VB XDocument 对象中。就它而言,它没有命名空间。我一直在处理本地副本,并在文本编辑器中添加了命名空间,这样我就可以按照MSDN的 Beth Massi vids 中的说明使用 VB 中的 XMLToSchema 来启用智能感知等。现在其余的代码工作我想再次打开实时文档。如果没有命名空间,我的 XML 文字将无法解析。

我尝试使用几种方法将 XMLNS 属性添加到根标记中,但未成功,我得到的最接近的是以下三个代码示例。

^^^^ 命名空间是作为根元素的值添加的,而不是作为属性。

^^^^ 生成错误:抛出运行时异常:System.Xml.XmlException - 前缀 '' 不能在同一起始元素标记内从 '' 重新定义为 'name'。

^^^^ 工作正常。大概它不喜欢我手动尝试设置保留属性?从我所做的一些谷歌搜索来看,这种命名空间似乎过于复杂。

我该如何解决这个问题?:D

谢谢!


更新

谢谢安东尼。

我想我需要更好地理解命名空间。

我以为。ToString它,然后修改,然后。Parse它也是,但我想要一个更好的解决方案,这样它可以帮助我更好地理解它!不过,我确实尝试过,正如您正确指出的那样,它也会影响所有后代,因此它仍然会中断。

我将使用由不同第三方生成的多个 XML 提要,我认为为简单起见,我将完全省略命名空间!

我自己的自定义解析函数将第三方提要重写为一个统一的文档,然后由另一个例程处理。我将能够将 ns 添加到 XML 的中间部分,这将有助于编写辅助函数。

谢谢!

0 投票
4 回答
4576 浏览

c# - 带有 System.Xml.Linq 命名空间的显式元素关闭标记

我正在使用(.NET 3.5 SP1)System.Xml.Linq 命名空间来使用数据的 div 标签填充 html 模板文档(然后将其保存到磁盘)。有时 div 标签是空的,这对于 HTML 来说似乎是个问题。根据我的研究,DIV 标签不是自动关闭的。因此,至少在 Firefox 下,a<div />被认为是一个没有匹配结束标签的开始 div 标签。

因此,当我通过声明创建新的 div 元素时:

如何强制生成的 XML<div></div>代替<div />

0 投票
2 回答
1102 浏览

c# - 如何查询 xml 文件并将结果保存在另一个 xml 文件中

我刚开始学习 Linq to XML 的可能性,最近发现我可以像数据库一样查询 xml(我现在对它非常着迷)。

我的问题是如何查询 xml 文件并将结果保存在另一个 xml 文件中?:

非常感谢你的帮助,

0 投票
3 回答
782 浏览

linq - 使用 LinqToXml 生成 XSD

有谁知道如何使用 LinqToXml 生成 XSD?我在任何地方都找不到这样的例子。XSD 将具有以下相当低的复杂性:

工具的上下文构造,允许业务分析师生成消息模式以及一些超出问题范围的相关工件。工具 XSD 将从应用程序对象模型中的 CLR 对象生成。

这些对象非常简单——一个根对象包含足够的信息来构建命名空间以及代表元素(类型、名称等)的其他对象的集合。

谢谢

肖恩

0 投票
3 回答
16049 浏览

c# - 如何在所有子节点中不使用 XNamespace 的情况下为子节点创建具有默认命名空间的 XElement

我正在尝试使用System.Xml.Linq来创建 XHTML 文档。因此,我的树中的绝大多数节点都应该使用这个命名空间:

我可以XElement很容易地创建范围为这个命名空间的节点,使用一个XNamespace,像这样:

但是,我不想XNamespace在创建 HTML 节点的所有代码中都提供一个可用的,并且必须为我创建的每个XElement(和XAttribute)名称添加前缀。

XML 文本格式本身考虑了这一要求,并允许使用 reservedxmlns属性在由后代继承的祖先中设置默认命名空间。我想使用System.Xml.Linq.

这可能吗?