gpt4 book ai didi

c# - 打开xml无法获取绘图元素

转载 作者:行者123 更新时间:2023-12-01 18:47:56 26 4
gpt4 key购买 nike

我正在浏览 docx,使用 open xml 来查找一些图像。

因此,我这样做是为了获取所有具有 docProperties 作为子项且标题包含

的绘图
List<Drawing> sdtElementDrawing = wordDoc.MainDocumentPart.Document.Descendants<Drawing>()
.Where(element =>
element.GetFirstChild<Drawing>() != null
&& element.GetFirstChild<DocProperties>().Title.Value.Contains("IMAGE")).ToList();

作为 xml 的 docx 在第一部分中看起来像这样(通常更大,但我只复制相关部分):

<w:drawing>
<wp:anchor distT="0" distB="0" distL="114300" distR="114300" simplePos="0" relativeHeight="251658240" behindDoc="1" locked="0" layoutInCell="1" allowOverlap="1" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing">
<wp:simplePos x="0" y="0" />
<wp:positionH relativeFrom="column">
<wp:posOffset>2171700</wp:posOffset>
</wp:positionH>
<wp:positionV relativeFrom="paragraph">
<wp:posOffset>-1168400</wp:posOffset>
</wp:positionV>
<wp:extent cx="2286000" cy="746760" />
<wp:effectExtent l="0" t="0" r="0" b="0" />
<wp:wrapNone />
<wp:docPr id="1" name="Image 1" descr="C:\Users\Pictures\IMAGERM.jpg" title="IMAGERM" />
</wp:anchor>
</w:drawing>

但我没有找到sdtElementDrawing

所以我认为我写错了 sdtElementDrawing 查询。我一定错过了一个明显的方法来告诉“获取绘图子项,其中有一个标题为 IMAGE 的 DocProperties”,但我找不到它。

我也尝试过这个,但效果并不好:

                        List<Drawing> sdtElementDrawing = wordDoc.MainDocumentPart.Document.Descendants<Drawing>()
.Where(element =>
element.GetFirstChild<Drawing>() != null &&
element.GetFirstChild<Drawing>().Anchor.GetFirstChild<DocProperties>().Title.Value.Contains("IMAGE")).ToList();

最佳答案

你试过这个吗?

List<Drawing> sdtElementDrawing = wordDoc.MainDocumentPart.Document.Descendants<Drawing>()
.Where(element => element.Descendants<DocProperties>().Any(
prop => prop.Title.Value.ToUpper().Contains("IMAGE")
)).ToList();

关于c# - 打开xml无法获取绘图元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24446534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com