如何获取所有Embed值的列表?

时间:2015-09-15 20:23:02

标签: c# linq openxml

我有一个包含多张图片的docx文件。 document.xml看起来像这样(多次):

 .... 
 <w:drawing>
        <a:blip r:embed="rId12">
     ....
        </a:blip>
</w:drawing>

如何使用LINQ获取嵌入值列表?

我有这个,这不起作用:

string[] imageIds =                   
   (string[]) (from drawing in docx.MainDocumentPart.Document.Descendants<Drawing>()
    where drawing.Descendants<A.Blip>().First<A.Blip>() != null
    select drawing.Descendants<A.Blip>().First().Embed.Value);

1 个答案:

答案 0 :(得分:0)

这应该有效:

XNamespace a = "http://youranamespaceurl.com";
XNamespace r = "http://yourrnamespaceurl.com";
var embedes = from el in docx.MainDocumentPart.Document.Descendants(a + "blip")
select (string)el.Attribute(r + "embed")