diff options
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/xml/XmlParser.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/xml/XmlParser.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlParser.java b/src/main/java/org/zwobble/mammoth/xml/XmlParser.java index 360c174..5b26de3 100644 --- a/src/main/java/org/zwobble/mammoth/xml/XmlParser.java +++ b/src/main/java/org/zwobble/mammoth/xml/XmlParser.java @@ -4,6 +4,8 @@ import java.util.ArrayDeque; import java.util.Deque; import java.util.Map; +import com.google.common.base.Strings; + import static java.util.stream.Collectors.toMap; import lombok.val; @@ -32,12 +34,21 @@ public class XmlParser { .entrySet() .stream() .collect(toMap( - entry -> entry.getKey().getLocalName(), + entry -> readName(entry.getKey()), entry -> entry.getValue())); - val element = new XmlElementBuilder(name.getLocalName(), simpleAttributes); + val element = new XmlElementBuilder(readName(name), simpleAttributes); elementStack.add(element); } + private String readName(ElementName name) { + if (Strings.isNullOrEmpty(name.getUri())) { + return name.getLocalName(); + } else { + return "{" + name.getUri() + "}" + name.getLocalName(); + } + + } + @Override public void endElement() { if (elementStack.size() > 1) { |
