用于编辑和保存xul树单元格值的函数

时间:2011-06-26 06:45:45

标签: xml firefox merge xul edit

我正在开发一个XUL扩展,我有一个XUL树,通过XUL templatesquerytype="xml")显示来自XML文件的数据。

在xul树中,我们有一个属性editable =“true”来编辑树单元格值。那么,我们如何修改树单元格值并将其保存到相同的(数据源)xml文件中。

例如:在我的xml文件中,FodenBen'。如果我们修改此FirstName值,则更改/修改的值应在我的xml文件中更新。

我想如何在我的xml文件中合并两个不同的子节点。就像在移动设备中一样,如果我们在联系人列表中有相似的名字,它会向我们显示一个“合并”选项,将其保存在联系人列表中。

如果你检查这个链接,我已经在xul树中加载了xml文件,但我没有任何编辑树单元格值的函数,因为我不知道如何启动。

请检查此链接以查找如何在xul树中加载xml文件。 https://stackoverflow.com/questions/6482480/how-to-do-write-a-filter-query-by-assigning-query-dynamically-using-querytype-xml这里我有一些功能允许我从xul树搜索,但我认为我的xquery中有一个错误。当我在搜索中键入内容时,xul树变为空白,否则它将显示xml文件中的值。

我检查了这个Firefox开发者网站,他们没有太多关于在xul中编辑xml文件的信息。 https://developer.mozilla.org/en/Parsing_and_serializing_XML

我知道我不擅长写作和解释。我不想混淆任何人,浪费他们的时间,因为我从以前的帖子中吸取了教训。我为此道歉,并且认真地说我不想再犯那个错误。我希望这个问题简短而简单,至少不会让人感到困惑。

非常感谢你所有的支持者。

我的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<CONTACTS>
<CONTACT>
<PDE-Identity>N65539</PDE-Identity>
<FirstName>Arun_niit</FirstName>
<LastName>Arun_niit</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>yahoo</Type>
<Value>nura_ice@yahoo.co.in</Value>
</EMail>
</EMAILS>
</CONTACT>
<CONTACT>
<PDE-Identity>N65546</PDE-Identity>
<FirstName>FodenBen'</FirstName>
<LastName>Ben' Foden</LastName>
<URL>http://www.facebook.com/profile.php?id=100002440474277</URL>
<Facebook-ID>100002440474277</Facebook-ID>
<EMAILS/>
</CONTACT>
<CONTACT>
<PDE-Identity>N65553</PDE-Identity>
<FirstName>GhorbelMahmoud</FirstName>
<LastName>Mahmoud Ghorbel</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>alcatel-lucent</Type>
<Value>mahmoud.ghorbel@alcatel-lucent.com</Value>
</EMail>
</EMAILS>
</CONTACT>
<CONTACT>
<PDE-Identity>N65560</PDE-Identity>
<FirstName>keyankarthik</FirstName>
<LastName>karthik keyan</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>yahoo</Type>
<Value>karthycse@yahoo.co.in</Value>
</EMail>
</EMAILS>
</CONTACT>
<CONTACT>
<PDE-Identity>N65567</PDE-Identity>
<FirstName>Rangarajkarthik</FirstName>
<LastName>karthik Rangaraj</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>gmail</Type>
<Value>kart2006@gmail.com</Value>
</EMail>
<EMail>
<Type>yahoo</Type>
<Value>karthikrangaraj@yahoo.com</Value>
</EMail>
</EMAILS>
</CONTACT>
<CONTACT>
<PDE-Identity>N65576</PDE-Identity>
<FirstName>ReddyAkky</FirstName>
<LastName>Akky Reddy</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>gmail</Type>
<Value>akkireddych@gmail.com</Value>
</EMail>
</EMAILS>
</CONTACT>
<CONTACT>
<PDE-Identity>N65583</PDE-Identity>
<FirstName>SandfordFrankie</FirstName>
<LastName>Frankie Sandford</LastName>
<URL>http://www.facebook.com/FrankieSandfordApprovedPage</URL>
<Facebook-ID/>
<EMAILS/>
</CONTACT>
<CONTACT>
<PDE-Identity>N65590</PDE-Identity>
<FirstName>TheSatsRochelle</FirstName>
<LastName>Rochelle TheSats</LastName>
<URL>http://www.facebook.com/profile.php?id=100002487211054</URL>
<Facebook-ID>100002487211054</Facebook-ID>
<EMAILS/>
</CONTACT>
<CONTACT>
<PDE-Identity>N65597</PDE-Identity>
<FirstName>KumarVeera</FirstName>
<LastName>Veera_Kumar</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>yahoo</Type>
<Value>KUMARg_81@yahoo.com</Value>
</EMail>
</EMAILS>
</CONTACT>
</CONTACTS>

1 个答案:

答案 0 :(得分:2)

XUL是交互式的,将XML序列化到磁盘会在用户界面中引入明显的延迟(由于IO)。这解释了为什么你没有找到任何在XUL中编辑XML的快捷方式。您仍然可以使用链接到的文档编写自己的函数来序列化xml,最好是在UI线程之外。