Thread overview
D ile XML okumak
Mar 05, 2015
kerdemdemir
Mar 06, 2015
Salih Dinçer
Mar 06, 2015
Salih Dinçer
March 06, 2015

Merhabalar ,

Çok basit bir konu olsa bile bu tecrübemi paylaşmak istedim.

std.xml'in web linkine girdiğimizde direk bir uyarı göze çarpıyor:

"Warning: This module is considered out-dated and not up to Phobos' current standards. It will remain until we have a suitable replacement, but be aware that it will not remain long term."

Kısaca Phobos'un standartlarına uymadığı ve değiştirileceği belirtiliyor. Bunu okuduğumda D'nin standartları çok yüksektir, modülde sorun yoktur diye düşünmüştüm. Fakat basit bir XML dosyasını parse etmeyi başaramadım .

Bunun üstüne bağlantıdan(http://www.digitalmars.com/d/archives/digitalmars/D/learn/XML_Parsing_33796.html) takip edilebilecek olan

arsd.dom.d modulünü projeme ekledim. Ve aşağıdaki gibi kullandım.

		auto document = new Document(readText(fileName), true, true);

		auto polMap = document.requireSelector("Policy");
		auto policyID = polMap.id;

		auto contentMap = document.requireSelector("Filter");
		auto resolveIP = contentMap.redirIP;
		auto redirectURL = contentMap.redirURL;

		testVal = [];
		foreach(testMap; document.getElementsByTagName("UnitTest"))
		{
			string uniqTestID = policyID ~ testMap.id;
		        testVal ~= Test(uniqTestID, testMap.value, cast(FilterAction)testMap.result);
		}

Ne kadar çok uzatıp canınızı sıkmak istemesem de, daha rahat anlaşılabilmesi için XML dosyasının benzerini paylaşmak istiyorum.

<UnitTest id="1" value="dns://hurriyet.com.tr" result="NOT_BLOCK"/>
<UnitTest id="2" value="http://vatan.com.tr" result="NOT_BLOCK"/>
<UnitTest id="3" value="https://facebook.com" result="BLOCKED"/>

Benim gibi küçük bir proje yapıyorsanız ve performanstan daha fazla işi hızlı bitirmeye ihtiyacınız varsa arsd.dom.d modülünü tavsiye ediyorum.

Saygılarımla
Kadir Erdem Demir

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 06, 2015

Ben de JSON tavsiye ederim hem daha hızlı hem de sağlam bir modüle sahip.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 06, 2015

Evet, bir zamanlar ben de şikayet etmiştim :)

Sanırım ondalık hassasiyeti olan bir veri türünde ciddi bir sıkıntı vardı. Belki birileri el atsa daha iyi olacaktır.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 06, 2015

Alıntı (kerdemdemir):

>

arsd.dom.d modülünü tavsiye ediyorum.

Evet, Adam Ruppe'nin modülleri çok saygı görür. Yanılmıyorsam web siteleri yazıyor ve bütün modüllerini kendi işlerinde kullanmak üzere hazırlıyor.

Kolaylık olsun diye bağlantısını da vereyim:

https://github.com/adamdruppe/arsd

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 06, 2015

Alıntı (Salih Dinçer):

>

Ben de JSON tavsiye ederim hem daha hızlı hem de sağlam bir modüle sahip.

İkisini de ciddi olarak kullanmadım ama std.json'dan da şikayet edildiğini duydum. Ama en azından o "deprecated" değil (bir üye işlev dışında):

http://dlang.org/phobos/std_json.html#.JSONValue.type

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]