diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-02 14:07:15 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-02 14:07:15 +0000 |
| commit | ba3bb715394a03ea2320cc3679881a0f1548ed99 (patch) | |
| tree | 756ba8f6c1d12e54e473c737723001b30f5141a3 /src/main/java/org/zwobble/mammoth/xml | |
| parent | 26af8fca2838549a185345458bbdb24db8a62d9b (diff) | |
Parse w:t elements
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/xml')
4 files changed, 18 insertions, 3 deletions
diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlElement.java b/src/main/java/org/zwobble/mammoth/xml/XmlElement.java index 8c3a011..f592415 100644 --- a/src/main/java/org/zwobble/mammoth/xml/XmlElement.java +++ b/src/main/java/org/zwobble/mammoth/xml/XmlElement.java @@ -1,5 +1,6 @@ package org.zwobble.mammoth.xml; +import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -7,8 +8,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import static com.google.common.collect.Iterables.filter; -import static com.google.common.collect.Iterables.getFirst; +import static com.google.common.collect.Iterables.*; public class XmlElement implements XmlNode, XmlElementLike { public XmlElement(String name) { @@ -52,6 +52,11 @@ public class XmlElement implements XmlNode, XmlElementLike { } @Override + public String innerText() { + return Joiner.on("").join(transform(children, XmlNode::innerText)); + } + + @Override public <T> T accept(XmlNodeVisitor<T> visitor) { return visitor.visit(this); } diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlNode.java b/src/main/java/org/zwobble/mammoth/xml/XmlNode.java index 37ce2cf..be8e48b 100644 --- a/src/main/java/org/zwobble/mammoth/xml/XmlNode.java +++ b/src/main/java/org/zwobble/mammoth/xml/XmlNode.java @@ -1,5 +1,6 @@ package org.zwobble.mammoth.xml; public interface XmlNode { + String innerText(); <T> T accept(XmlNodeVisitor<T> visitor); } diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java b/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java index ce36615..d168fa6 100644 --- a/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java +++ b/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java @@ -22,4 +22,8 @@ public class XmlNodes { public static XmlElement element(String name, Map<String, String> attributes, List<XmlNode> children) { return new XmlElement(name, attributes, children); } + + public static XmlTextNode text(String value) { + return new XmlTextNode(value); + } } diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlTextNode.java b/src/main/java/org/zwobble/mammoth/xml/XmlTextNode.java index 9b349e3..453863d 100644 --- a/src/main/java/org/zwobble/mammoth/xml/XmlTextNode.java +++ b/src/main/java/org/zwobble/mammoth/xml/XmlTextNode.java @@ -10,7 +10,12 @@ public class XmlTextNode implements XmlNode { public String getValue() { return value; } - + + @Override + public String innerText() { + return value; + } + @Override public <T> T accept(XmlNodeVisitor<T> visitor) { return visitor.visit(this); |
