Java examples for XML:XML Encoding
remove XML Invalid Chars
/* ************************************************************************* * * TMPotter - Bi-text Aligner/TMX Editor * * Copyright (C) 2015 Hiroshi Miura//from w ww . ja v a 2 s. c o m * * Part of this come from OmegaT. * * Copyright (C) 2000-2006 Keith Godfrey and Maxym Mykhalchuk * * This file is part of TMPotter. * * TMPotter is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * TMPotter is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with TMPotter. If not, see http://www.gnu.org/licenses/. * * *************************************************************************/ //package com.java2s; public class Main { public static void main(String[] argv) throws Exception { String str = "java2s.com"; System.out.println(removeXMLInvalidChars(str)); } public static String removeXMLInvalidChars(String str) { StringBuilder sb = new StringBuilder(str.length()); for (int c, i = 0; i < str.length(); i += Character.charCount(c)) { c = str.codePointAt(i); if (!isValidXMLChar(c)) { c = ' '; } sb.appendCodePoint(c); } return sb.toString(); } public static boolean isValidXMLChar(int codePoint) { if (codePoint < 0x20) { if (codePoint != 0x09 && codePoint != 0x0A && codePoint != 0x0D) { return false; } } else if (codePoint >= 0x20 && codePoint <= 0xD7FF) { } else if (codePoint >= 0xE000 && codePoint <= 0xFFFD) { } else if (codePoint >= 0x10000 && codePoint <= 0x10FFFF) { } else { return false; } return true; } }