diff options
Diffstat (limited to 'main/src/cgeo/geocaching/utils/XmlUtils.java')
| -rw-r--r-- | main/src/cgeo/geocaching/utils/XmlUtils.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/utils/XmlUtils.java b/main/src/cgeo/geocaching/utils/XmlUtils.java new file mode 100644 index 0000000..4e08f42 --- /dev/null +++ b/main/src/cgeo/geocaching/utils/XmlUtils.java @@ -0,0 +1,41 @@ +package cgeo.geocaching.utils; + +import org.xmlpull.v1.XmlSerializer; + +import java.io.IOException; + +public class XmlUtils { + + private XmlUtils() { + // Do not instantiate + } + + /** + * Insert an attribute-less tag with enclosed text in a XML serializer output. + * + * @param serializer an XML serializer + * @param prefix an XML prefix, see {@link XmlSerializer#startTag(String, String)} + * @param tag an XML tag + * @param text some text to insert + * @throws IOException + */ + public static void simpleText(final XmlSerializer serializer, final String prefix, final String tag, final String text) throws IOException { + serializer.startTag(prefix, tag); + serializer.text(text); + serializer.endTag(prefix, tag); + } + + /** + * Insert pairs of attribute-less tags and enclosed texts in a XML serializer output + * + * @param serializer an XML serializer + * @param prefix an XML prefix, see {@link XmlSerializer#startTag(String, String)} shared by all tags + * @param tagAndText an XML tag, the corresponding text, another XML tag, the corresponding text, … + * @throws IOException + */ + public static void multipleTexts(final XmlSerializer serializer, final String prefix, final String... tagAndText) throws IOException { + for (int i = 0; i < tagAndText.length; i += 2) { + simpleText(serializer, prefix, tagAndText[i], tagAndText[i+1]); + } + } +} |
