Bir Java programının yapısını depolamak için kullanılacak bir XML dosyası oluşturmak istiyorum. Java programını başarılı bir şekilde ayrıştırabilir ve etiketleri gerektiği gibi oluşturabilirim. Java kaynak kodu çok sayıda varlık referansı ve &
, <
, <
, >
, &
gibi ayrılmış karakterler kullanabileceğinden, bu sorun kaynak kodlarımı etiketlerim içine dahil etmeye çalıştığımda ortaya çıkar. Geçerli bir XML oluşturamıyorum. Bunun gibiXML öznitelik değerlerine <, > vb. Nasıl dahil edebilirim?
<?xml version="1.0"?>
<prg name="prg_name">
<class name= "class_name>
<parent>parent class</parent>
<interface>Interface name</interface>
.
.
.
<method name= "method_name">
<statement>the ordinary java statement</statement>
<if condition="Conditional Expression">
<statement> true statements </statement>
</if>
<else>
<statement> false statements </statement>
</else>
<statement> usual control statements </statement>
.
.
.
</method>
</class>
.
.
.
</prg>
ancak sorun if
veya diğer ifadeleri valide alma XML engeller onları &
veya diğer saklıdır sembollerin çok şey var koşullu ifadeler geçerli:
Benim XML böyle gitmeli. Tüm bu veriler (kaynak kodu) kullanıcı tarafından verildiğinden, üzerinde çok az kontrol var. Karakterlerden kaçmak zaman açısından çok maliyetli olacaktır.
Öğe metninden çıkmak için CDATA kullanabilir, ancak koşullu ifadeleri içeren öznitelik değerleri için kullanılamaz. Java programını ayrıştırmak ve etiketler için öznitelikleri ve içeriği almak için Antlr Java dilbilgisi kullanıyorum. Bunun için başka bir çözüm var mı?
Bir + (artı) –
@LarsVandeDonk "+" öğesinin nasıl olduğu, XML'de kaçmasına gerek yok. Belki de URL kaçışından bahsediyordunuz? – izogfif