现在我正在尝试使用nodejs作为服务器端和basex模块创建一个网站,以便能够使用javascript处理xquery请求。好吧我现在的问题是我不知道如何追加元素标签或删除特定元素标签(如果符合条件)。之后我想保存xml文件。
这是我的xml文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Jeu de donnees en xml -->
<armateur>
<capitaines>
<personne sexe="M">
<nom>YUE</nom>
<prenom>Jonathan</prenom>
<age>50</age>
<telephone>06600210</telephone>
<adresse>
<codepostale>24000</codepostale>
<ville>PERIGUEUX</ville>
<norue>15</norue>
<lieu>combe des dames</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>123</passe>
<identifiant>a</identifiant>
<idBailC>000001</idBailC>
</personne>
<personne sexe="M">
<nom>CHUN</nom>
<prenom>Oliver</prenom>
<age>55</age>
<telephone>06600211</telephone>
<adresse>
<codepostale>24000</codepostale>
<ville>PERIGUEUX</ville>
<norue>15</norue>
<lieu>combe des wo</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>admin</passe>
<identifiant>admin</identifiant>
<idBailC>admin</idBailC>
</personne>
<personne sexe="M">
<nom>RALF</nom>
<prenom>Jack</prenom>
<age>26</age>
<telephone>06640210</telephone>
<adresse>
<codepostale>44000</codepostale>
<ville>NANTES</ville>
<norue>1</norue>
<lieu>Independance</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>123</passe>
<identifiant>b</identifiant>
<idBailC>000002</idBailC>
</personne>
<personne sexe="F">
<nom>FANNY</nom>
<prenom>Chloe</prenom>
<age>50</age>
<telephone>07600210</telephone>
<adresse>
<codepostale>44000</codepostale>
<ville>NANTES</ville>
<norue>3</norue>
<lieu>christianc pauc</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>123</passe>
<identifiant>c</identifiant>
<idBailC></idBailC>
</personne>
<personne sexe="M">
<nom>Lam</nom>
<prenom>Tom</prenom>
<age>68</age>
<telephone>06600219</telephone>
<adresse>
<codepostale>25000</codepostale>
<ville>BORDEAUX</ville>
<norue>12</norue>
<lieu>Des Anges</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>123</passe>
<identifiant>d</identifiant>
<idBailC></idBailC>
</personne>
</capitaines>
<navires>
<navire disponible="non">
<nomnav>navire1</nomnav>
<bail etat="operationnel">
<idBail>000001</idBail>
<prise>2015-07-20T01:00:00-05:00</prise>
<retrocession>2015-09-20T01:00:00-05:00</retrocession>
<dureeB>60 jours</dureeB>
</bail>
<mission type="mission1">
<debut>2015-07-20T01:00:00-05:00</debut>
<fin>2015-08-20T01:00:00-05:00</fin>
<dureeM>30 jours</dureeM>
<capitaine>
<nomM>YUE</nomM>
<prenomM>Jonathan</prenomM>
</capitaine>
<idMission>Inde</idMission>
<decision>attente</decision>
</mission>
</navire>
<navire disponible="oui">
<nomnav>navire2</nomnav>
<bail etat="nonoperationnel">
<idBail>pasdispo</idBail>
<prise></prise>
<retrocession></retrocession>
<dureeB></dureeB>
</bail>
<mission type="">
<debut></debut>
<fin></fin>
<dureeM></dureeM>
<capitaine>
<nomM></nomM>
<prenomM></prenomM>
</capitaine>
<idMission></idMission>
<decision>disponible</decision>
</mission>
</navire>
<navire disponible="non">
<nomnav>navire3</nomnav>
<bail etat="operationnel">
<idBail>000002</idBail>
<prise>2015-09-20T01:00:00-05:00</prise>
<retrocession>2015-09-30T01:00:00-05:00</retrocession>
<dureeB>30 jours</dureeB>
</bail>
<mission type="mission3">
<debut>2015-09-20T01:00:00-05:00</debut>
<fin>2015-09-21T01:00:00-05:00</fin>
<dureeM>12 jours</dureeM>
<capitaine>
<nomM>Fanny</nomM>
<prenomM>Chloe</prenomM>
</capitaine>
<idMission>France</idMission>
<decision>approuver</decision>
</mission>
</navire>
</navires>
</armateur>
例如我想添加另一个人物标签或删除。
答案 0 :(得分:0)
来自:http://docs.basex.org/wiki/XQuery_Update#delete
的信息您可能想要检查BaseX - Xquery更新模块。
如果你想删除一个人,我猜你最好的想法就是如果你使用他们的个人身份证,但由于你有没有身份证的人,我使用了他们的prenom。
代码看起来像这样:(我删除了Tom)
declare context item := document {
<armateur>
<capitaines>
<personne sexe="M">
<nom>YUE</nom>
<prenom>Jonathan</prenom>
<age>50</age>
<telephone>06600210</telephone>
<adresse>
<codepostale>24000</codepostale>
<ville>PERIGUEUX</ville>
<norue>15</norue>
<lieu>combe des dames</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>123</passe>
<identifiant>a</identifiant>
<idBailC>000001</idBailC>
</personne>
<personne sexe="M">
<nom>CHUN</nom>
<prenom>Oliver</prenom>
<age>55</age>
<telephone>06600211</telephone>
<adresse>
<codepostale>24000</codepostale>
<ville>PERIGUEUX</ville>
<norue>15</norue>
<lieu>combe des wo</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>admin</passe>
<identifiant>admin</identifiant>
<idBailC>admin</idBailC>
</personne>
<personne sexe="M">
<nom>RALF</nom>
<prenom>Jack</prenom>
<age>26</age>
<telephone>06640210</telephone>
<adresse>
<codepostale>44000</codepostale>
<ville>NANTES</ville>
<norue>1</norue>
<lieu>Independance</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>123</passe>
<identifiant>b</identifiant>
<idBailC>000002</idBailC>
</personne>
<personne sexe="F">
<nom>FANNY</nom>
<prenom>Chloe</prenom>
<age>50</age>
<telephone>07600210</telephone>
<adresse>
<codepostale>44000</codepostale>
<ville>NANTES</ville>
<norue>3</norue>
<lieu>christianc pauc</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>123</passe>
<identifiant>c</identifiant>
<idBailC></idBailC>
</personne>
<personne sexe="M">
<nom>Lam</nom>
<prenom>Tom</prenom>
<age>68</age>
<telephone>06600219</telephone>
<adresse>
<codepostale>25000</codepostale>
<ville>BORDEAUX</ville>
<norue>12</norue>
<lieu>Des Anges</lieu>
<pays>FRANCE</pays>
</adresse>
<passe>123</passe>
<identifiant>d</identifiant>
<idBailC></idBailC>
</personne>
</capitaines>
<navires>
<navire disponible="non">
<nomnav>navire1</nomnav>
<bail etat="operationnel">
<idBail>000001</idBail>
<prise>2015-07-20T01:00:00-05:00</prise>
<retrocession>2015-09-20T01:00:00-05:00</retrocession>
<dureeB>60 jours</dureeB>
</bail>
<mission type="mission1">
<debut>2015-07-20T01:00:00-05:00</debut>
<fin>2015-08-20T01:00:00-05:00</fin>
<dureeM>30 jours</dureeM>
<capitaine>
<nomM>YUE</nomM>
<prenomM>Jonathan</prenomM>
</capitaine>
<idMission>Inde</idMission>
<decision>attente</decision>
</mission>
</navire>
<navire disponible="oui">
<nomnav>navire2</nomnav>
<bail etat="nonoperationnel">
<idBail>pasdispo</idBail>
<prise></prise>
<retrocession></retrocession>
<dureeB></dureeB>
</bail>
<mission type="">
<debut></debut>
<fin></fin>
<dureeM></dureeM>
<capitaine>
<nomM></nomM>
<prenomM></prenomM>
</capitaine>
<idMission></idMission>
<decision>disponible</decision>
</mission>
</navire>
<navire disponible="non">
<nomnav>navire3</nomnav>
<bail etat="operationnel">
<idBail>000002</idBail>
<prise>2015-09-20T01:00:00-05:00</prise>
<retrocession>2015-09-30T01:00:00-05:00</retrocession>
<dureeB>30 jours</dureeB>
</bail>
<mission type="mission3">
<debut>2015-09-20T01:00:00-05:00</debut>
<fin>2015-09-21T01:00:00-05:00</fin>
<dureeM>12 jours</dureeM>
<capitaine>
<nomM>Fanny</nomM>
<prenomM>Chloe</prenomM>
</capitaine>
<idMission>France</idMission>
<decision>approuver</decision>
</mission>
</navire>
</navires>
</armateur>};
for $x in //armateur/capitaines/personne[prenom != 'Tom']
return
$x
此外,如果你想添加某人,我想如果你手动将它插入你的xml,它会更容易。
我真的希望这会有所帮助。