将新 XElement 添加到现有 XElement(如果尚不存在)

发布于 2024-08-20 00:56:25 字数 317 浏览 4 评论 0原文

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

背景:我有一个XDocument X,其中包含子元素Flowers,随后包含一系列元素每个都被命名为Flower。每个 Flower 已经有 2 个子元素,我想添加一个名为 Price 的第三个元素。但是,我想检查并确保 Flower 元素中尚不存在 Price 元素。我该怎么做?我还需要检查吗?

How do I check to see if an element exists within a given element before trying to add it?

Background: I have an XDocument X that contains as a child element Flowers which subsequently contains a series of elements that are each named Flower. Each Flower already has 2 child elements and I would like to add a 3rd element called Price. However, I want to check and make sure there's not already an element for Price within the Flower element. How do I do that? Do I even need to check?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

皇甫轩 2024-08-27 00:56:25

XElement 有一个 HasElements 属性,如果只是想知道是否存在任何元素,该属性就可以工作。

对于您的情况,我将使用...

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

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

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

XElement has a HasElements property, which would work if just wanted to know whether any elements existed or not.

For your case, I would use...

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

..to see if a the price element exists. If not, you can then add it.

Note: if you don't have any namespace set for your XML file, you can use Namespace.None instead of ns.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文