2006年11月24日 星期五 14:59
ÈçÉϵÄÒ»¸öxmlÎļþ£¬ÎÒÏÖÔÚÏë´ïµ½Á½¸öÄ¿µÄ£º 1¡¢¶Á³ö½ÚµãTestchildÏÂÃæËùÓеÄ×Ó½ÚµãÃû³Æ£¬ÓÃËüÀ´×öΪһ¸ödictionaryµÄkeyÖµ£¬È»ºó×Ó½ÚµãµÄÖµÒ²¶ÔÓ¦·ÅÔÚdictionaryÀï 2¡¢Ïë×öÒ»¸öÃüÁîÐеĵݽøÄ£ºýËÑË÷£¬±ÈÈçÎÒдÏ£¬Te Tes Bt£¬ÕâÀïҪʶ±ð³öÏëÕÒµÄÊÇ aaa bbb ccc ddd ÀïµÄÖµ xmlÒ»µãÒ²²»Ê죬µ«ÊǸоõËüÓÃÀ´±£´æ²ÎÊý½á¹¹ºÍÃüÁî½á¹¹ºÜºÃ£¬¿ÉÊÇÎÒÏÖÔÚÎÞ·¨°´×Ô¼ºµÄÐÄÔ¸¶Á³ö£¬ÒòΪʱ¼äÌ«½ô£¬²éÁ˰ëÌìûÕÒµ½£¬Ö»ºÃÇóÖú´ó¼ÒÁË£¬Ð»Ð» -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061124/ea353930/attachment.html
2006年11月24日 星期五 16:45
libxml2 ÖÐÕë¶Ô½ÚµãÓÐget_Name(), get_content()·½·¨£¬¿ÉÒÔÈ¡µÃ½ÚµãÃûºÍ½ÚµãÖµ ÔÚ06-11-24£¬bakefish <yellowfool在gmail.com> дµÀ£º > > >> > aaa >bbb >ccc >ddd > > > ÈçÉϵÄÒ»¸öxmlÎļþ£¬ÎÒÏÖÔÚÏë´ïµ½Á½¸öÄ¿µÄ£º > 1¡¢¶Á³ö½ÚµãTestchildÏÂÃæËùÓеÄ×Ó½ÚµãÃû³Æ£¬ÓÃËüÀ´×öΪһ¸ödictionaryµÄkeyÖµ£¬È»ºó×Ó½ÚµãµÄÖµÒ²¶ÔÓ¦·ÅÔÚdictionaryÀï > 2¡¢Ïë×öÒ»¸öÃüÁîÐеĵݽøÄ£ºýËÑË÷£¬±ÈÈçÎÒдÏ£¬Te Tes Bt£¬ÕâÀïҪʶ±ð³öÏëÕÒµÄÊÇ> > xmlÒ»µãÒ²²»Ê죬µ«ÊǸоõËüÓÃÀ´±£´æ²ÎÊý½á¹¹ºÍÃüÁî½á¹¹ºÜºÃ£¬¿ÉÊÇÎÒÏÖÔÚÎÞ·¨°´×Ô¼ºµÄÐÄÔ¸¶Á³ö£¬ÒòΪʱ¼äÌ«½ô£¬²éÁ˰ëÌìûÕÒµ½£¬Ö»ºÃÇóÖú´ó¼ÒÁË£¬Ð»Ð» > > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061124/f7d4d6f8/attachment.html ÀïµÄÖµ
2006年11月24日 星期五 17:05
import xml.dom.minidom def main(): str="""""".encode("utf-8") dom = xml.dom.minidom.parseString(str) for x in dom.getElementsByTagName("Test"): ....... 差不多是这个意思 aaa bbb ccc ddd
2006年11月26日 星期日 11:44
昨天写的一个类似程序
from xml.sax import handler, make_parser
import sys, string
class Lemmas:
def __init__(self):
#单词 解释 音标
self.elemList=['']*3
def key(self,key):
self.__bind(0,key)
def mean(self,mean):
self.__bind(1,mean)
def phonetic(self,phonetic):
self.__bind(2,phonetic)
def __bind(self,number,content):
self.elemList[number]=content.strip().replace('"','""').encode('utf8')
def isPhrase(self):
if self.elemList[0].find(' ')!=-1:
return True
else:
return False
def __str__(self):
if self.isPhrase():
return '"'+string.join(self.elemList[:2],'","')+'"'
else:
return '"'+string.join(self.elemList,'","')+'"'
def outputManipulate(lemma):
if lemma.isPhrase():
file=phraseFile
else:
file=wordFile
file.write(str(lemma)+'\n')
#print str(lemma)+'\n'
class xdictHandler(handler.ContentHandler):
def __init__(self):
self.lemma=Lemmas()
self.bufStr=""
def startDocument(self):
print "-------- Document Start --------"
def endDocument(self):
print "-------- Document End --------"
def startElement(self, name, attrs):
pass
def endElement(self, name):
if name=='br':
self.bufStr+="
"
return
elif name=='key':
self.lemma.key(self.bufStr)
elif name=='phonetic':
self.lemma.phonetic(self.bufStr)
elif name=='lemma':
self.lemma.mean(self.bufStr)
outputManipulate(self.lemma)
self.lemma=Lemmas()
self.bufStr=""
def characters(self, char):
self.bufStr+=char
if __name__ == '__main__':
xmlPath=r"F:\job\word\devKit\xdict_utf8.xml"
wordPath=r"F:\job\word\devKit\word.txt"
phrasePath=r"F:\job\word\devKit\phrasePath.txt"
wordFile=open(wordPath,'w')
phraseFile=open(phrasePath,'w')
# Create an instance of the Handler.
handler = xdictHandler()
# Create an instance of the parser.
parser = make_parser()
# Set the content handler.
parser.setContentHandler(handler)
inFile = open(xmlPath, 'r')
# Start the parse.
parser.parse(inFile)
inFile.close()
wordFile.close()
phraseFile.close()
from xml.sax import handler, make_parser
import sys, string
class Lemmas:
def __init__(self):
#单词 解释 音标
self.elemList=['']*3
def key(self,key):
self.__bind(0,key)
def mean(self,mean):
self.__bind(1,mean)
def phonetic(self,phonetic):
self.__bind(2,phonetic)
def __bind(self,number,content):
self.elemList[number]=content.strip().replace('"','""').encode('utf8')
def isPhrase(self):
if self.elemList[0].find(' ')!=-1:
return True
else:
return False
def __str__(self):
if self.isPhrase():
return '"'+string.join(self.elemList[:2],'","')+'"'
else:
return '"'+string.join(self.elemList,'","')+'"'
#这个函数写的不好
def outputManipulate(lemma):
if lemma.isPhrase():
file=phraseFile
else:
file=wordFile
file.write(str(lemma)+'\n')
#print str(lemma)+'\n'
class xdictHandler(handler.ContentHandler):
def __init__(self):
self.lemma=Lemmas()
self.bufStr=""
def startDocument(self):
print "-------- Document Start --------"
def endDocument(self):
print "-------- Document End --------"
def startElement(self, name, attrs):
pass
def endElement(self, name):
if name=='br':
self.bufStr+="
"
return
elif name=='key':
self.lemma.key(self.bufStr)
elif name=='phonetic':
self.lemma.phonetic(self.bufStr)
elif name=='lemma':
self.lemma.mean(self.bufStr)
outputManipulate(self.lemma)
self.lemma=Lemmas()
self.bufStr=""
def characters(self, char):
self.bufStr+=char
if __name__ == '__main__':
xmlPath=r"F:\job\word\devKit\xdict_utf8.xml"
wordPath=r"F:\job\word\devKit\word.txt"
phrasePath=r"F:\job\word\devKit\phrasePath.txt"
wordFile=open(wordPath,'w')
phraseFile=open(phrasePath,'w')
# Create an instance of the Handler.
handler = xdictHandler()
# Create an instance of the parser.
parser = make_parser()
# Set the content handler.
parser.setContentHandler(handler)
inFile = open(xmlPath, 'r')
# Start the parse.
parser.parse(inFile)
inFile.close()
wordFile.close()
phraseFile.close()
2006/11/24, zhang peng <finalmdj at gmail.com>:
> import xml.dom.minidom
> def main():
> str="""
>
>
> aaa
> bbb
> ccc
> ddd
>
> """.encode("utf-8")
> dom = xml.dom.minidom.parseString(str)
> for x in dom.getElementsByTagName("Test"):
> .......
>
> 差不多是这个意思
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
--
I'm Earth-Man.
我是地球人.
--zsp(张沈鹏)
2006年11月26日 星期日 13:17
On 11/24/06, bakefish <yellowfool在gmail.com> wrote: > >> > aaa >bbb >ccc >ddd > > > 如上的一个xml文件,我现在想达到两个目的: import cElementTree tree = cElementTree.XML(uxmlstring) Te = {} for i in tree.find("Testchild").getchildren(): Te[i.tag]=i.text 相关iPython测试: ''' In [112]: for i in e.find("Testchild").getchildren(): .....: Te[i.tag]=i.text .....: In [113]: Te Out[113]: {'Atest': 'aaa', 'Dtest': 'ddd', 'Ctest': 'ccc', 'Btest': 'bbb'} In [114]: Te['Atest'] Out[114]: 'aaa' ''' 这样你就可以使用类似 Te['Atest'] 来获取值使用 更多参考: http://effbot.org/zone/element.htm > 1、读出节点Testchild下面所有的子节点名称,用它来做为一个dictionary的key值,然后子节点的值也对应放在dictionary里 > 2、想做一个命令行的递进模糊搜索,比如我写下,Te Tes > Bt,这里要识别出想找的是> > xml一点也不熟,但是感觉它用来保存参数结构和命令结构很好,可是我现在无法按自己的心愿读出,因为时间太紧,查了半天没找到,只好求助大家了,谢谢 > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > -- '''Time is unimportant, only life important! blog@ http://blog.zoomquiet.org/pyblosxom/ wiki@ http://wiki.woodpecker.org.cn/moin/ZoomQuiet douban@ http://www.douban.com/people/zoomq/ ____________________________________ Please use OpenOffice.org to replace M$ office. http://zh.openoffice.org Please use 7-zip to replace WinRAR/WinZip. http://7-zip.org/zh-cn/ You can get the truely Freedom from software. ''' 里的值
Zeuux © 2025
京ICP备05028076号