diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-02-18 11:11:55 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-02-18 11:11:55 +0000 |
| commit | cb8360ca25dd74e3afa82fb5626df932f71013e8 (patch) | |
| tree | 46c2a5d34120ac8ed4e22d956dc72dbb2e6ea67e /src/main/java | |
| parent | 33359a6d13376f64e8cd3e41f185fc6d23fb8524 (diff) | |
Throw error when failing to find the body element in a document
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java index 25855f3..e2db2e7 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java @@ -5,9 +5,9 @@ import org.zwobble.mammoth.internal.documents.Document; import org.zwobble.mammoth.internal.documents.Notes; import org.zwobble.mammoth.internal.results.InternalResult; import org.zwobble.mammoth.internal.xml.XmlElement; -import org.zwobble.mammoth.internal.xml.XmlElementLike; import java.util.List; +import java.util.Optional; public class DocumentXmlReader { private final BodyXmlReader bodyReader; @@ -21,8 +21,13 @@ public class DocumentXmlReader { } public InternalResult<Document> readElement(XmlElement element) { - XmlElementLike body = element.findChildOrEmpty("w:body"); - return bodyReader.readElements(body.getChildren()) + Optional<XmlElement> body = element.findChild("w:body"); + + if (!body.isPresent()) { + throw new IllegalArgumentException("Could not find the body element: are you sure this is a docx file?"); + } + + return bodyReader.readElements(body.get().getChildren()) .toResult() .map(children -> new Document(children, notes, comments)); } |
