c# - 将新的 XElement 添加到现有的 XElement(如果它不存在)

标签 c# .net xml linq-to-xml

在尝试添加某个元素之前,如何检查该元素是否存在于给定元素中?

背景:我有一个 XDocument X 作为子元素包含 Flowers 随后包含一个系列每个元素都命名为 Flower。每个 Flower 都有 2 个子元素,我想添加一个名为 Price 的第三个元素。但是,我想检查并确保 Flower 元素中还没有用于 Price 的元素。我怎么做?我什至需要检查吗?

最佳答案

XElement 有一个 HasElements 属性,如果只是想知道是否存在任何元素,它会起作用。

对于你的情况,我会使用...

XNamespace ns = "http://mynamespace.com";
bool hasPrice = flowerElement.Element(ns + "Price") == null;

..查看价格元素是否存在。如果没有,您可以添加它。

注意:如果您没有为您的 XML 文件设置任何命名空间,您可以使用 Namespace.None 而不是 ns

关于c# - 将新的 XElement 添加到现有的 XElement(如果它不存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2166740/

相关文章:

c# - 如何在 Xamarin Forms 中创建自定义可绑定(bind) View ?

c# - .Net 2 迭代器的巧妙使用

python - xml ns0 : prefix cant make the previous solutions work

java - 尝试解析从 ftp 下载的 xml 文件时出现 XMLStreamException

c# - 使用 RabbitMQ 重新发送存储在错误队列中的消息

c# - 包含多个派生对象的列表。如何访问派生中的字段

c# - 将控件添加到 FlowLayoutPanel 时意外的索引更改

xml - XSD 可选元素 minOccurs ="0"但在验证时这是预期的吗?

c# - 4个接口(interface)的接口(interface)?

c# - Entity Framework 多对多关系添加/更新