Reputation: 95
How can i read €; from xml file to java
gives me an error. I want € to be printed
org.xml.sax.SAXParseException; systemId: file:/C:/Users/stikkoo/Desktop/product.xml; lineNumber: 9; columnNumber: 18; The character reference must end with the ';' delimiter.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
My XML snippet:
<?xml version="1.0" encoding="UTF-8"?>
<company>
<staff id="1001">
<firstname>yong</firstname>
<lastname>mook kim</lastname>
<nickname>mkyong</nickname>
<salary>100000</salary>
</staff>
<staff id="€;">
<firstname>low</firstname>
<lastname>yin fong</lastname>
<nickname>fong fong</nickname>
<salary>200000</salary>
</staff>
</company>
Upvotes: 3
Views: 1243
Reputation: 719249
First of all, € is not a valid ASCII character. Real ASCII is a 7 bit character set which predates the invention of the € symbol by 30+ years.
Next, € is not present in LATIN-1 (ISO/IEC 8859-1) either. If you need € in an 8-bit ISO/IEC 8859 character set, you need to use ISO-8859-15. The code is 0xA4
or 164
decimal.
In Unicode, the code point for € is U+20AC
. That can be written in XML using hexadecimal character entity syntax; €
.
Note:
€
, but I prefer the hexadecimal form because it better aligns with the Unicode code charts.Alternatively, you can use the XML / HTML named character entity €
... assuming that your XML parser understands it.
Finally, since you have specified UTF-8 as the encoding for your XML document, you should be able to paste a literal € character into the document ... assuming that you are editing it with a UTF-8 aware editor. (But that has disadvantages too ...)
(There are restrictions on the characters you can use in an XML id
, but the € character is allowed.)
For the record, the €
character entity that you are trying to use in your document actually refers to a non-printing C1 control character.
Upvotes: 5
Reputation: 195
Hi Shreya!
I think you might have the wrong hexadecimal character for your version of xml.
Try €
or €
.
The following link has a huge wall of text describing basically your exact question!
Link to solve all your problems :)
Good luck with it!
Jesper
Upvotes: 1