Sadece XML veri kodlamasını taklit eden bir ağaç yapısıyla çalışmak için SSAX-SXML kullanıyorum. Bu yüzden, SXML temsilini doğrudan çalışmak için veri yapısı olarak kullanmayı düşündüm. Her şey çok iyi çalışıyor ve çok yararlı bulduğum varsayılan erişimcilerin ve XPath'in tüm işlevlerini alıyorum.SSAX-SXML ve sayılar
Ama bir sorunum var. XML her şeyi dizgiler olarak gösterir, bu yüzden dizeden sayılara ve viceversa'ya her zaman dönmem gerekir. Bu performans ve sadece kötü bir tasarım fikrini öldürecek. SXML listesini almayı ve tüm dizeleri tek geçişte sayılara dönüştürmeyi düşünüyordum. Ancak, SXML'in bir şeyi doğrudan ya da XML yoluyla söyleyebilmesinin, bir şeyin bir sayı değil, bir dizi olarak gösterilmesi gerektiği bir yolu var mı? Bu (özü) benzeyen bir XML itibaren
((wall (@ (uid "2387058723"))
(pt (@ (y "2.0") (x "1.0")))
(pt (@ (y "4.0") (x "3.0"))))
(wall (@ (uid "5493820876"))
(pt (@ (y "0.0") (x "0.0")))
(pt (@ (y "100.0") (x "0.0")))
(window (@ (to "0.4") (from "0.2")))
(window (@ (size "1.0") (from "0.2")))
(door (@ (size "1.0") (from "0.2"))))
(pilar (@ (uid "692034802"))
(center (@ (y "5.0") (x "5.0")))
(dim (@ (b "0.45") (a "0.3"))))
(room (@ (label "salon"))
(wall (@ (uid "2387058723")))
(wall (@ (uid "5493820876")))
(wall (@ (uid "5394501263")))
(wall (@ (uid "0034923049"))))
(entry (@ (doorNumber "0")) (wall (@ (uid "5493820876"))))
(num "0,9")
(pipe (@ (y "8.0") (x "10.0"))))
:
<wall uid="2387058723">
<pt x="1.0" y="2.0"/>
<pt x="3.0" y="4.0"/>
</wall>
teşekkür ederiz
Bu benim SXML listesidir.
Dizgiye dönüştürme işleminin ve genel performansın çok fazla olacağından kuşkuluyum. –
Doğru olabileceğinden ve yanıt alamıyorum, anında dönüşümlerle çalışacağım ve daha sonra tam bir on-pass dönüşüm yapacağım. – alvatar
hala DOM veya VTD-XML'de xpath kullanabilirsiniz ... SXML XML'den daha büyük görünüyor, bu yüzden yavaş olabilir –