/** * Serializes a Map of String name/value pairs into the meta-data XML format. * * @param metaData the Map of meta-data as Map<String,List<String>> * @return the meta-data values in XML form. */ public static String serializeMetaData(Map<String, List<String>> metaData) { StringBuilder buf = new StringBuilder(); if (metaData != null && metaData.size() > 0) { buf.append("<metadata xmlns=\"http://jivesoftware.com/protocol/workgroup\">"); for (String key : metaData.keySet()) { List<String> value = metaData.get(key); for (String v : value) { buf.append("<value name=\"").append(key).append("\">"); buf.append(StringUtils.escapeForXmlText(v)); buf.append("</value>"); } } buf.append("</metadata>"); } return buf.toString(); } }
private static CharSequence parseContentDepthWithRoundtrip(XmlPullParser parser, int depth, boolean fullNamespaces) throws XmlPullParserException, IOException { StringBuilder sb = new StringBuilder(); int event = parser.getEventType(); outerloop: while (true) { // Only append the text if the parser is not on on an empty element' start tag. Empty elements are reported // twice, so in order to prevent duplication we only add their text when we are on their end tag. if (!(event == XmlPullParser.START_TAG && parser.isEmptyElementTag())) { CharSequence text = parser.getText(); if (event == XmlPullParser.TEXT) { text = StringUtils.escapeForXmlText(text); } sb.append(text); } if (event == XmlPullParser.END_TAG && parser.getDepth() <= depth) { break outerloop; } event = parser.next(); } return sb; }
startClosed = true; builder.append(StringUtils.escapeForXmlText(parser.getText())); } else { throw new IllegalArgumentException("unexpected eventType: " + eventType);
buffer.append('>'); if (getDesc() != null && desc.length() > 0) { buffer.append("<desc>").append(StringUtils.escapeForXmlText(getDesc())).append("</desc>");
@Override protected IQChildElementXmlStringBuilder getIQChildElementBuilder(IQChildElementXmlStringBuilder buf) { buf.rightAngleBracket(); if (isPersonal()) { buf.append("<personal>true</personal>"); } if (getPersonalMacroGroup() != null) { // CHECKSTYLE:OFF buf.append("<personalMacro>"); buf.append(StringUtils.escapeForXmlText(getPersonalMacroGroup().toXML())); buf.append("</personalMacro>"); // CHECKSTYLE:ON } return buf; }
startClosed = true; builder.append(StringUtils.escapeForXmlText(parser.getText())); } else { throw new IllegalArgumentException("unexpected eventType: " + eventType);
private static CharSequence parseContentDepthWithRoundtrip(XmlPullParser parser, int depth, boolean fullNamespaces) throws XmlPullParserException, IOException { StringBuilder sb = new StringBuilder(); int event = parser.getEventType(); outerloop: while (true) { // Only append the text if the parser is not on on an empty element' start tag. Empty elements are reported // twice, so in order to prevent duplication we only add their text when we are on their end tag. if (!(event == XmlPullParser.START_TAG && parser.isEmptyElementTag())) { CharSequence text = parser.getText(); if (event == XmlPullParser.TEXT) { text = StringUtils.escapeForXmlText(text); } sb.append(text); } if (event == XmlPullParser.END_TAG && parser.getDepth() <= depth) { break outerloop; } event = parser.next(); } return sb; }