2017-03-09 18 views
1

テーブル内の要素と外側の要素を区別するにはどうすればよいですか?さらに、コンテンツコントロール名のないテーブルをどのように検証できますか?OpenXMLの表要素の内側と外側の要素を取得する

+0

何を試しましたか?特定のライブラリやSDKを使用していますか?あなたはxmlを直接操作していますか? –

+0

まだ何も成功していない。 これは私のコードです 'tags = mainPart.Document.Body.Descendants ()。 ここで(t => t.Parent.LocalName == "tr")。 Select(t => t.SdtProperties.GetFirstChild ().Val).ToList(); ' テーブル親を探していてtrではないので、テーブル親がブロック要素で囲まれています。 私はOpenXML 4.0ライブラリを使用しています。 –

+0

投稿内容を編集して試した内容を含める –

答えて

1

Linq To XMLを使用することをおすすめします。 MSDNにはWord文書のexample console application that displays all paragraph textがあります。

最後の部分はコメントです。文書内のすべての段落を検索します。これは、Word文書の本文から段落を引き出す部分です(Linq To XML)。代わりに"p"

// Find all paragraphs in the document. 
    var paragraphs = 
     from para in xDoc 
        .Root 
        .Element(w + "body") 
        .Descendants(w + "p") ... 

、あなたは"tbl"を使用する必要があります。これは、内容を確認するために、すべてのテーブルをドキュメントから収集する方法です。各行と列を調べるには、テーブルのデータをループするコードが必要になりますが、これで開始することができます。

Open XML Productivity Toolをインストールすると、Open XMLドキュメントのXMLをすべて表示できます。下の画面は、Wordのドキュメントにテーブルを含むツールを示しています。

[enter image description here]

左ペインには、Word文書に典型的なテーブルの構造を示します。その権利はOpen XML Table仕様です。このツールは、liqをXMLコードに書き込んでテーブルのデータを読み込んで検証するときに、何を読み、何を無視するかを知るのに役立ちます。

特定のテーブル形式を使用している場合は、プロジェクトを読む必要があり、スタックされていて、別の質問で試したコードとテーブルを投稿してください。それ以外の場合は、元の質問に基づいて、この回答はあなたのソリューションを開始するのに役立つはずです。

関連する問題