Ich habe eine Reihe von Word-Dokumenten (docx), die Test-Fallnamen als Absatz Titel und die Testschritte in der nachfolgenden Tabelle entlang mit einigen anderen Informationen.Apache POI: Extrahieren Sie einen Absatz und die folgende Tabelle aus Word-Dokument (docx) in Java
Ich muss den Testfallnamen (aus Absatz) und die Testschritte (aus Tabelle) aus der Tabelle mit Apache POI extrahieren.
Die Beispielwortinhalte sind
Section 1: Index
Section 2: Some description
A. Paragraph 1
B. Table 1
C. Paragraph 2
D. Paragraph 3
E. Table 2
Section 3: test cases (The title "test cases" is constant, so I can look for it in the doc)
A. Paragraph 4 (First test case)
B. Table 3 (Test steps table immediately after the para 4)
C. Paragraph 5 (Second test case)
B. Table 4 (Test steps table immediately after the para 5)
Apache POI APIs Liste der Absätze geben liefert und Tabellen, aber ich bin nicht in der Lage den Absatz (Testfall) zu lesen und sofort auf einen Tisch suchen, die diesen Absatz folgt .
Ich versuchte XWPFWordExtractor mit (den ganzen Text lesen), bodyElementIterator (iterieren alle Körperelemente), aber die meisten von ihnen getParagraphText()
Methode geben, die eine Liste der Absätze [para1, para2, para3, para4, para5]
und getTables()
Methode gibt, die in der alle Tabellen gibt Dokument als Liste [table1, table2, table3, table4]
.
Wie gehe ich über alle Absätze, stoppe bei Absatz, der nach der Überschrift 'Testfälle' (Absatz 4) ist und dann nach Tabelle suchen, die unmittelbar nach dem Absatz 4 (Tabelle 3) ist. Dann wiederholen Sie dies für Absatz 5 und Tabelle 4.
Hier ist die gist link (Code) Ich versuchte, die eine Liste von Absätzen und Liste von Tabellen gibt, aber nicht in der Reihenfolge, die ich verfolgen kann.
Jede Hilfe wird sehr geschätzt.
danke für die Kommentare, mein Hauptanliegen ist, gibt die Liste der Pars Liste und die Liste der Tabellen gibt Liste der Tabellen, aber wie behalte ich die Reihenfolge, in der sie erscheinen? Meine Anforderung besteht darin, Tabelleninhalte zu extrahieren, die unmittelbar nach einem bestimmten Absatzinhalt folgen. Einige, wie ich weiter paras lesen muss und wenn meine erforderliche para reinkommt, hör auf und lese ab diesem Punkt Tabellen. – Sauchin
@Sauchin hast du das herausgefunden. Ich habe das gleiche Problem. Vielleicht posten Sie als Ihre eigene Antwort, wenn Sie eine Lösung haben –
Ich habe die Lösung gefunden. Ich entschuldige mich dafür, dass ich nicht früher gepostet habe. Ich werde die Antwort in ein paar Tagen posten. Ich reise und habe leider keinen Zugang zum Quellcode. – Sauchin