summaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-02-18 11:11:55 +0000
committerMichael Williamson <mike@zwobble.org>2024-02-18 11:11:55 +0000
commitcb8360ca25dd74e3afa82fb5626df932f71013e8 (patch)
tree46c2a5d34120ac8ed4e22d956dc72dbb2e6ea67e /src/main/java/org
parent33359a6d13376f64e8cd3e41f185fc6d23fb8524 (diff)
Throw error when failing to find the body element in a document
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java11
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));
}