2016-06-10 22 views
0

Ich habe viel im Internet gesucht und ich konnte keine Antwort darauf finden. Gibt es eine Möglichkeit zu überprüfen, wo der Tisch hingehört? Das heißt, zu welchem ​​Abschnitt gehört die Tabelle.Tabelle gehören zu welchem ​​Abschnitt in Word mit openxml

Ich würde es bevorzugen, es mit OpenXml zu tun, aber wenn es eine Lösung mit Interop Word-Objekt gibt. Ich würde das auch nehmen ...

Als Beispieldokument.

screenshot of the word document

Ich würde auch die XML für das Dokument geschrieben haben, aber Post Grenze erreicht ist. Zur Verdeutlichung enthält das Beispieldokument zwei Abschnitte. Das erste enthält zwei Tabellen und das zweite enthält eine Tabelle.

+0

Was meinen Sie mit "welcher Sektion" - welche Informationen möchten Sie? Der Indexwert? Die Seitenausrichtung? Etwas anderes? –

+0

@CindyMeister Ich möchte überprüfen, wo der Tisch gehört? Ich meine, in welcher Sektion? Sie können Abschnittswechsel einfügen, um mehrere Kapitel in einem Dokument zu erstellen, die auch als Abschnitte bezeichnet werden. –

+0

Ja, das verstehe ich. Aber welche Informationen möchten Sie? –

Antwort

0

Die Arbeit mit dem Open XML SDK ist der Verwendung eines XML-Parsers sehr ähnlich, um Knoten relativ zum aktuellen Knoten zu finden. Sie sind wahrscheinlich vertraut mit der Verwendung von Descendants, wie es in vielen Beispielen verwendet wird. Sie können auch Ancestors und verschiedene Sibling Kriterien zum Lokalisieren eines bestimmten Knotens verwenden.

In diesem Fall, wenn Sie den zugrunde liegenden WordOpenXML untersuchen, sehen Sie, dass <w:tbl> ein Geschwister von <w:p> ist, und <w:sectPr> ist ein Kind von <w:p>. Sie wollen also eine NextSibling<Paragraph>, die ein Kind des Typs SectionProperties hat.

Dies ist der Fall für alle Abschnitte außer die letzte (Standardabschnitt für das Dokument). Die letzte sectPr ist ein Kind von <w:body> (Geschwister von <w:p>) und wird das letzte Element vor dem schließenden </w:body>-Tag sein.

+0

Ich habe zwei Fragen. 1) Wird das immer die gleiche Reihenfolge sein? Das heißt, die Tabelle und die Absätze sind immer in der gleichen Reihenfolge in der XML? 2) Können Sie ein Stück Code teilen, um frühere Geschwister zu bekommen? –

+0

@NaveedButt Ich habe meine Antwort korrigiert (der Abschnitt bricht nicht voraus, es folgt - weiß nicht, was ich vor einer Woche sah) und fügte Informationen über den letzten Abschnitt hinzu, der nicht dem Muster folgt. –

+0

Vielen Dank Cindy, wenn Sie einen Referenzcode teilen könnten, der als Ausgangspunkt dienen könnte. Es wäre toll. –