成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

dom4j讀取xml(筆記)

Java代碼 

1.   

2. SAXReader reader = new SAXReader();    

3. Document doc = reader.read(…);    

4. List childNodes = doc.selectNodes(“//Config/Child/ChildNode”);    

5. for(Object obj:childNodes) {    

6. Node childNode = (Node)obj;    

7.   

8. String name = childNode.valueOf(“@name”);    

9. String text = childNode.getText();    

10. }    

11.   

12.   

13.   

14. 一.Document對象相關   

15.   

16. 1.讀取XML文件,獲得document對象.   

17.              SAXReader reader = new SAXReader();   

18.              Document   document = reader.read(new File(“input.xml”));   

19.   

20. 2.解析XML形式的文本,得到document對象.   

21.              String text = “<members></members>”;   

22.              Document document = DocumentHelper.parseText(text);   

23. 3.主動創建document對象.   

24.              Document document = DocumentHelper.createDocument();   

25.              Element root = document.addElement(“members”);// 創建根節點   

26. 二.節點相關   

27.   

28. 1.獲取文檔的根節點.   

29. Element rootElm = document.getRootElement();   

30. 2.取得某節點的單個子節點.   

31. Element memberElm=root.element(“member”);// “member”是節點名   

32. 3.取得節點的文字   

33. String text=memberElm.getText();也可以用:   

34. String text=root.elementText(“name”);這個是取得根節點下的name字節點的文字.   

35.   

36. 4.取得某節點下名為”member”的所有字節點并進行遍歷.   

37. List nodes = rootElm.elements(“member”);   

38.   

39. for (Iterator it = nodes.iterator(); it.hasNext();) {   

40.     Element elm = (Element) it.next();   

41.    // do something   

42. }   

43. 5.對某節點下的所有子節點進行遍歷.   

44.             for(Iterator it=root.elementIterator();it.hasNext();){   

45.                  Element element = (Element) it.next();   

46.                 // do something   

47.              }   

48. 6.在某節點下添加子節點.   

49. Element ageElm = newMemberElm.addElement(“age”);   

50. 7.設置節點文字.   

51. ageElm.setText(“29”);   

52. 8.刪除某節點.   

53. parentElm.remove(childElm);// childElm是待刪除的節點,parentElm是其父節點   

54. 9.添加一個CDATA節點.   

55.          Element contentElm = infoElm.addElement(“content”);   

56.          contentElm.addCDATA(diary.getContent());   

57.   

58. 三.屬性相關.   

59. 1.取得某節點下的某屬性   

60.              Element root=document.getRootElement();       

61.              Attribute attribute=root.attribute(“size”);// 屬性名name   

62. 2.取得屬性的文字   

63.              String text=attribute.getText();也可以用:   

64. String text2=root.element(“name”).attributeValue(“firstname”);這個是取得根節點下name字節點的屬性firstname的值.   

65.   

66. 3.遍歷某節點的所有屬性   

67.              Element root=document.getRootElement();       

68.             for(Iterator it=root.attributeIterator();it.hasNext();){   

69.                  Attribute attribute = (Attribute) it.next();   

70.                  String text=attribute.getText();   

71.                  System.out.println(text);   

72.              }   

73. 4.設置某節點的屬性和文字.   

74. newMemberElm.addAttribute(“name”, “sitinspring”);   

75. 5.設置屬性的文字   

76.              Attribute attribute=root.attribute(“name”);   

77.              attribute.setText(“sitinspring”);   

78. 6.刪除某屬性   

79.              Attribute attribute=root.attribute(“size”);// 屬性名name   

80.              root.remove(attribute);   

81. 四.將文檔寫入XML文件.   

82. 1.文檔中全為英文,不設置編碼,直接寫入的形式.   

83. XMLWriter writer = new XMLWriter(new FileWriter(“output.xml”));   

84. writer.write(document);   

85. writer.close();   

86. 2.文檔中含有中文,設置編碼格式寫入的形式.   

87.              OutputFormat format = OutputFormat.createPrettyPrint();   

88.              format.setEncoding(“GBK”);    // 指定XML編碼           

89.              XMLWriter writer = new XMLWriter(new FileWriter(“output.xml”),format);   

90.                

91.              writer.write(document);   

92.              writer.close();   

93. 五.字符串與XML的轉換   

94. 1.將字符串轉化為XML   

95. String text = “<members> <member>sitinspring</member> </members>”;   

96. Document document = DocumentHelper.parseText(text);   

97. 2.將文檔或節點的XML轉化為字符串.   

98.              SAXReader reader = new SAXReader();   

99.              Document   document = reader.read(new File(“input.xml”));               

100.              Element root=document.getRootElement();                   

101.              String docXmlText=document.asXML();   

102.              String rootXmlText=root.asXML();   

103.              Element memberElm=root.element(“member”);   

104.              String memberXmlText=memberElm.asXML();   

105.   

106.   

107.   

108.   

109. dom4j API 包含一個解析 XML 文檔的工具。本文中將使用這個解析器創建一個示例 XML 文檔。清單 1 顯示了這個示例 XML 文檔,catalog.xml。   

110.   

111. 清單 1. 示例 XML 文檔(catalog.xml)    

112. <?xml version=”1.0″ encoding=”UTF-8″?>    

113. <catalog>    

114. <!–An XML Catalog–>    

115. <?target instruction?>   

116.   <journal title=”XML Zone”    

117.                   publisher=”IBM developerWorks”>    

118. <article level=”Intermediate” date=”December-2001″>   

119.  <title>Java configuration with XML Schema</title>    

120.  <author>    

121.      <firstname>Marcello</firstname>    

122.      <lastname>Vitaletti</lastname>    

123.  </author>   

124.   </article>   

125.   </journal>    

126. </catalog>   

127.     

128.   

129.   

130. 然后使用同一個解析器修改 catalog.xml,清單 2 是修改后的 XML 文檔,catalog-modified.xml。   

131.   

132. 清單 2. 修改后的 XML 文檔(catalog-modified.xml)    

133. <?xml version=”1.0″ encoding=”UTF-8″?>    

134. <catalog>    

135. <!–An XML catalog–>    

136. <?target instruction?>   

137.   <journal title=”XML Zone”  

138.                    publisher=”IBM developerWorks”>    

139. <article level=”Introductory” date=”October-2002″>   

140.  <title>Create flexible and extensible XML schemas</title>    

141.  <author>    

142.      <firstname>Ayesha</firstname>    

143.      <lastname>Malik</lastname>    

144.  </author>    

145.   </article>   

146.   </journal>    

147. </catalog>   

148.     

149.   

150.   

151. 與 W3C DOM API 相比,使用 dom4j 所包含的解析器的好處是 dom4j 擁有本地的 XPath 支持。DOM 解析器不支持使用 XPath 選擇節點。   

152.   

153. 本文包括以下幾個部分:   

154.   

155. 預先設置    

156. 創建文檔    

157. 修改文檔    

158. 預先設置   

159.   

160. 這個解析器可以從 http://dom4j.org 獲取。通過設置使 dom4j-1.4/dom4j-full.jar 能夠在 classpath 中訪問,該文件中包括 dom4j 類、XPath 引擎以及 SAX 和 DOM 接口。如果已經使用了 JAXP 解析器中包含的 SAX 和 DOM 接口,向 classpath 中增加 dom4j-1.4/dom4j.jar 。 dom4j.jar 包括 dom4j 類和 XPath 引擎,但是不含 SAX 與 DOM 接口。    

161.   

162.   

163.   

164.     

165.   

166.   

167.  回頁首    

168.     

169.   

170.   

171.   

172. 創建文檔   

173.   

174. 本節討論使用 dom4j API 創建 XML 文檔的過程,并創建示例 XML 文檔 catalog.xml。   

175.   

176. 使用 import 語句導入 dom4j API 類:   

177.   

178. import org.dom4j.Document;   

179. import org.dom4j.DocumentHelper;   

180. import org.dom4j.Element;   

181.     

182.   

183.   

184. 使用 DocumentHelper 類創建一個文檔實例。 DocumentHelper 是生成 XML 文檔節點的 dom4j API 工廠類。    

185.   

186.  Document document = DocumentHelper.createDocument();    

187.   

188.   

189. 使用 addElement() 方法創建根元素 catalog 。 addElement() 用于向 XML 文檔中增加元素。    

190.   

191. Element catalogElement = document.addElement(“catalog”);    

192.   

193.   

194. 在 catalog 元素中使用 addComment() 方法添加注釋“An XML catalog”。    

195.   

196.  catalogElement.addComment(“An XML catalog”);    

197.   

198.   

199. 在 catalog 元素中使用 addProcessingInstruction() 方法增加一個處理指令。    

200.   

201. catalogElement.addProcessingInstruction(“target”,”text”);    

202.   

203.   

204. 在 catalog 元素中使用 addElement() 方法增加 journal 元素。    

205.   

206. Element journalElement =  catalogElement.addElement(“journal”);    

207.   

208.   

209. 使用 addAttribute() 方法向 journal 元素添加 title 和 publisher 屬性。    

210.   

211. journalElement.addAttribute(“title”, “XML Zone”);   

212.          journalElement.addAttribute(“publisher”, “IBM developerWorks”);    

213.   

214.   

215. 向 article 元素中添加 journal 元素。    

216.   

217. Element articleElement=journalElement.addElement(“article”);    

218.   

219.   

220. 為 article 元素增加 level 和 date 屬性。    

221.   

222. articleElement.addAttribute(“level”, “Intermediate”);   

223.       articleElement.addAttribute(“date”, “December-2001”);    

224.   

225.   

226. 向 article 元素中增加 title 元素。    

227.   

228. Element titleElement=articleElement.addElement(“title”);    

229.   

230.   

231. 使用 setText() 方法設置 article 元素的文本。    

232.   

233. titleElement.setText(“Java configuration with XML Schema”);    

234.   

235.   

236. 在 article 元素中增加 author 元素。    

237.   

238. Element authorElement=articleElement.addElement(“author”);    

239.   

240.   

241. 在 author 元素中增加 firstname 元素并設置該元素的文本。    

242.   

243. Element  firstNameElement=authorElement.addElement(“firstname”);   

244.      firstNameElement.setText(“Marcello”);    

245.   

246.   

247. 在 author 元素中增加 lastname 元素并設置該元素的文本。    

248.   

249. Element lastNameElement=authorElement.addElement(“lastname”);   

250.      lastNameElement.setText(“Vitaletti”);    

251.   

252.   

253. 可以使用 addDocType() 方法添加文檔類型說明。    

254.   

255. document.addDocType(“catalog”, null,”file://c:/Dtds/catalog.dtd”);    

256.   

257.   

258. 這樣就向 XML 文檔中增加文檔類型說明:   

259.   

260. <!DOCTYPE catalog SYSTEM “file://c:/Dtds/catalog.dtd”>    

261.   

262.   

263. 如果文檔要使用文檔類型定義(DTD)文檔驗證則必須有 Doctype。   

264.   

265. XML 聲明 <?xml version=”1.0″ encoding=”UTF-8″?> 自動添加到 XML 文檔中。    

266.   

267. 清單 3 所示的例子程序 XmlDom4J.java 用于創建 XML 文檔 catalog.xml。   

268.   

269. 清單 3. 生成 XML 文檔 catalog.xml 的程序(XmlDom4J.java)    

270. import org.dom4j.Document;   

271. import org.dom4j.DocumentHelper;   

272. import org.dom4j.Element;   

273. import org.dom4j.io.XMLWriter;   

274. import java.io.*;   

275. public class XmlDom4J{   

276. public void generateDocument(){   

277. Document document = DocumentHelper.createDocument();   

278.      Element catalogElement = document.addElement(“catalog”);   

279.      catalogElement.addComment(“An XML Catalog”);   

280.      catalogElement.addProcessingInstruction(“target”,”text”);   

281.      Element journalElement =  catalogElement.addElement(“journal”);   

282.      journalElement.addAttribute(“title”, “XML Zone”);   

283.      journalElement.addAttribute(“publisher”, “IBM developerWorks”);   

284.      Element articleElement=journalElement.addElement(“article”);   

285.      articleElement.addAttribute(“level”, “Intermediate”);   

286.      articleElement.addAttribute(“date”, “December-2001”);   

287.      Element  titleElement=articleElement.addElement(“title”);   

288.      titleElement.setText(“Java configuration with XML Schema”);   

289.      Element authorElement=articleElement.addElement(“author”);   

290.      Element  firstNameElement=authorElement.addElement(“firstname”);   

291.      firstNameElement.setText(“Marcello”);   

292.      Element lastNameElement=authorElement.addElement(“lastname”);   

293.      lastNameElement.setText(“Vitaletti”);   

294.      document.addDocType(“catalog”,   

295.                            null,”file://c:/Dtds/catalog.dtd”);   

296.     try{   

297.     XMLWriter output = new XMLWriter(   

298.             new FileWriter( new File(“c:/catalog/catalog.xml”) ));   

299.         output.write( document );   

300.         output.close();   

301.         }   

302.      catch(IOException e){System.out.println(e.getMessage());}   

303. }   

304. public static void main(String[] argv){   

305. XmlDom4J dom4j=new XmlDom4J();   

306. dom4j.generateDocument();   

307. }}   

308.     

309.   

310.   

311. 這一節討論了創建 XML 文檔的過程,下一節將介紹使用 dom4j API 修改這里創建的 XML 文檔。    

312.   

313.   

314.   

315.     

316.   

317.   

318.  回頁首    

319.     

320.   

321.   

322.   

323. 修改文檔   

324.   

325. 這一節說明如何使用 dom4j API 修改示例 XML 文檔 catalog.xml。   

326.   

327. 使用 SAXReader 解析 XML 文檔 catalog.xml:   

328.   

329. SAXReader saxReader = new SAXReader();   

330.  Document document = saxReader.read(inputXml);    

331.   

332.   

333. SAXReader 包含在 org.dom4j.io 包中。    

334.   

335. inputXml 是從 c:/catalog/catalog.xml 創建的 java.io.File。使用 XPath 表達式從 article 元素中獲得 level 節點列表。如果 level 屬性值是“Intermediate”則改為“Introductory”。    

336.   

337. List list = document.selectNodes(“//article/@level” );   

338.       Iterator iter=list.iterator();   

339.         while(iter.hasNext()){   

340.             Attribute attribute=(Attribute)iter.next();   

341.                if(attribute.getValue().equals(“Intermediate”))   

342.                attribute.setValue(“Introductory”);    

343.        }    

344.   

345.   

346. 獲取 article 元素列表,從 article 元素中的 title 元素得到一個迭代器,并修改 title 元素的文本。    

347.   

348. list = document.selectNodes(“//article” );   

349.      iter=list.iterator();   

350.    while(iter.hasNext()){   

351.        Element element=(Element)iter.next();   

352.       Iterator iterator=element.elementIterator(“title”);   

353.    while(iterator.hasNext()){   

354.    Element titleElement=(Element)iterator.next();   

355.    if(titleElement.getText().equals(“Java configuration with XML Schema”))   

356.      titleElement.setText(“Create flexible and extensible XML schema”);   

357.     }}    

358.   

359.   

360. 通過和 title 元素類似的過程修改 author 元素。    

361.   

362. 清單 4 所示的示例程序 Dom4JParser.java 用于把 catalog.xml 文檔修改成 catalog-modified.xml 文檔。   

363.   

364. 清單 4. 用于修改 catalog.xml 的程序(Dom4Jparser.java)    

365. import org.dom4j.Document;   

366. import org.dom4j.Element;   

367. import org.dom4j.Attribute;   

368. import java.util.List;   

369. import java.util.Iterator;   

370. import org.dom4j.io.XMLWriter;   

371. import java.io.*;   

372. import org.dom4j.DocumentException;   

373. import org.dom4j.io.SAXReader;    

374. public class Dom4JParser{   

375.  public void modifyDocument(File inputXml){   

376.   try{   

377.    SAXReader saxReader = new SAXReader();   

378.    Document document = saxReader.read(inputXml);   

379.    List list = document.selectNodes(“//article/@level” );   

380.    Iterator iter=list.iterator();   

381.    while(iter.hasNext()){   

382.     Attribute attribute=(Attribute)iter.next();   

383.     if(attribute.getValue().equals(“Intermediate”))   

384.       attribute.setValue(“Introductory”);    

385.        }   

386.       

387.    list = document.selectNodes(“//article/@date” );   

388.    iter=list.iterator();   

389.    while(iter.hasNext()){   

390.     Attribute attribute=(Attribute)iter.next();   

391.     if(attribute.getValue().equals(“December-2001”))   

392.       attribute.setValue(“October-2002”);   

393.        }   

394.    list = document.selectNodes(“//article” );   

395.    iter=list.iterator();   

396.    while(iter.hasNext()){   

397.     Element element=(Element)iter.next();   

398.     Iterator iterator=element.elementIterator(“title”);   

399.       while(iterator.hasNext()){   

400.         Element titleElement=(Element)iterator.next();   

401.         if(titleElement.getText().equals(“Java configuration with XML   

402.       Schema”))   

403.         titleElement.setText(“Create flexible and extensible XML schema”);   

404.                                           }   

405.                                 }   

406.     list = document.selectNodes(“//article/author” );   

407.     iter=list.iterator();   

408.      while(iter.hasNext()){   

409.      Element element=(Element)iter.next();   

410.      Iterator iterator=element.elementIterator(“firstname”);   

411.      while(iterator.hasNext()){   

412.       Element firstNameElement=(Element)iterator.next();   

413.       if(firstNameElement.getText().equals(“Marcello”))   

414.       firstNameElement.setText(“Ayesha”);   

415.                                      }   

416.                               }   

417.     list = document.selectNodes(“//article/author” );   

418.     iter=list.iterator();   

419.      while(iter.hasNext()){   

420.       Element element=(Element)iter.next();   

421.       Iterator iterator=element.elementIterator(“lastname”);   

422.      while(iterator.hasNext()){   

423.       Element lastNameElement=(Element)iterator.next();   

424.       if(lastNameElement.getText().equals(“Vitaletti”))   

425.       lastNameElement.setText(“Malik”);   

426.                                   }   

427.                                }   

428.      XMLWriter output = new XMLWriter(   

429.       new FileWriter( new File(“c:/catalog/catalog-modified.xml”) ));   

430.      output.write( document );   

431.      output.close();   

432.    }   

433.     

434.   catch(DocumentException e)   

435.                  {   

436.                   System.out.println(e.getMessage());   

437.                             }   

438.   catch(IOException e){   

439.                        System.out.println(e.getMessage());   

440.                     }   

441.  }   

442.  public static void main(String[] argv){   

443.   Dom4JParser dom4jParser=new Dom4JParser();   

444.   dom4jParser.modifyDocument(new File(“c:/catalog/catalog.xml”));   

445.                                         }   

446.    }   

447.    

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产精品99久久久久久WWW| 车内挺进尤物少妇紧窄| JAPANESEHD熟女熟妇| 啊灬啊灬啊灬快灬高潮了听书 | 粉嫩AV一区二区三区| 国产精口品美女乱子伦高潮| 国内少妇偷人精品免费| 久久久亚洲欧洲日产国码AⅤ| 女人被狂躁的高潮免费视频| 日本一本2017国产| 西西人体大胆WWW444| 亚洲色大18成人网站WWW在线| 69风韵老熟女口爆吞精| 成人综合婷婷国产精品久久蜜臀| 国产精品免费AⅤ片在线观看| 精品人妻潮喷久久久又裸又黄| 蜜芽亚洲AV无码精品国产| 日本无人区码卡3卡4卡区别| 午夜成人无码福利免费视频| 亚洲中文字幕无码专区| GRANSREMEDY老太太| 国产精品爽爽VA在线观看网站| 久久精品人人做人人爽电影蜜月| 男男车车CP视频| 特大巨黑吊性XXXX| 亚洲午夜久久久影院伊人| WWW无套内射高清免费| 国产麻豆MD传媒视频| 久久这里精品国产99丫E6| 日本亚欧乱色视频在线| 亚洲AV香蕉一区区二区三区 | 亚洲国产精品一区二区WWW| 亚洲AV午夜福利精品一区二区| 性偷窥TUBE凸凹视频| 又湿又紧又大又爽A视频男| 吃奶摸下激烈床震视频试看 | 免费人成在线观看视频高潮| 日韩一卡2卡3卡4卡| 亚洲精品无码久久千人斩| А天堂最新版中文网| 和朋友换娶妻一起换着高清| 欧美黑人一级二级巨大久久天堂 | 精品国产综合区久久久久久| 人马畜禽CORPORATION| 亚洲AV中文无码乱人伦在线播放 | 一本大道无码人妻精品专区| 丰满少妇被猛烈进入高清APP| 久久精品无码一区二区无码| 日韩人妻无码视频 | 成人无码H在线观看网站| 精品亚洲国产成人蜜臀优播AV| 人妻丰满熟AV无码区HD| 亚洲精品无码久久久久久| 成人丝袜激情一区二区| 久久久久久精品国产亚洲AV麻豆| 日日狠狠久久偷偷色综合| 夜里18款禁用B站入口探APP| 国产A级作爱片无码| 毛葺葺老太做受视频| 新狼窝色AV性久久久久久| JAPANESE精品中国少妇| 激情综合色综合久久综合| 色狠狠色噜噜AV综合五区| 野花日本大全免费观看2019| 国产精品不卡AⅤ在线播放| 亚洲熟妇AV一区二区三区| 中国熟妇人妻XXXXX| 国产精品电影久久久久电影网| 男人操女人视频图片日韩| 亚洲AV无码精品色午夜蛋壳| 成人欧美一区二区三区白人| 胯下硕大征服冰山女神| 武则天裸毛片70分钟| 啊灬啊灬啊灬快灬深高潮了亚洲乱色视频在线观看 | 青青草国产精品亚洲专区无码| 亚洲啪AV永久无码精品放毛片| 国产GAYSEXCHINA男同| 欧美黑人巨大VIDEOS精品| 亚洲日韩欧美成人一区二区三区| 国产精品久久久久不卡无毒 | JIZZ成熟丰满韩国女人少妇| 久久人人妻人人爽人人爽| 亚洲 精品 制服 校园 无码| 刺激Chinese乱叫国产高潮| 女人天堂亚洲AⅤ在线观看| 亚洲熟妇色XXXXX成熟| 国产免费又爽又色又粗视频| 日韩av无码一区二区| 97人人澡人人爽人人模亚洲| 久久久久久九九精品久| 亚洲AV无码专区国产乱码不卡| 国产VOYEUR精品偷窥222| 人妻无码一区二区三区久| 中国丰满熟妇XXXX| 久久久WWW免费人成精品| 亚洲А∨天堂久久精品9966| 国产精品天干天干在线综合| 色噜噜狠狠色综合AV| YYYY1111少妇影院在线观| 男女高潮免费观看无遮挡| 一本大道在线无码一区| 精品精品国产高清A级毛片| 小浪货腿张开水好多呀H| 国产精品看高国产精品不卡| 十八女人毛片A级毛片水真多| 爆乳3把你榨干哦OVA在线观看| 欧美XXX性喷潮| 2021av在线视频| 免费看高清大片的APP在线看| 亚洲综合AV永久无码精品一区二| 精品国产一区二区亚洲人成毛片| 亚洲AV成人无码精品直播在线 | 高清不卡亚洲日韩AV在线| 日本免费AⅤ欧美在线观看| WWW.一区二区三区在线 || 欧美国产日韩久久MV| ASSFREE疯狂老妇熟女| 欧美丰满多毛少妇XXXXX性| 51CG10 吃瓜 爆料| 免费网站看V片在线18禁| 中年国产丰满熟女乱子正在播放| 久久无码AV三级| 玉蒲团2之玉女心经| 乱人伦XXXX国语对白| 中国女人内射6XXXXXWWW| 免费私人家庭影院| 50多岁岳不让我戴套| 免费真人视频网站直播下载| 99久久国产综合精麻豆| 欧洲精品免费一区二区三区| NARUTOMANGA无尽纲手| 人妻av一区二区三区精品| YW尤物AV无码国产在线观看| 日本理伦片午夜理伦片| 大胆GOGO高清在线观看| 少妇久久久久久久久久| 国产精华液一二三区别| 亚洲AVT无码天堂网| 好喜欢你呐[校园] 里恩ER| 亚洲人成国产精品无码| 浪潮AV色综合久久天堂| 2020无码专区人妻系列日韩| 人妻无码熟妇乱又伦精品| 疯狂揉小泬到失禁高潮| 无遮挡粉嫩小泬久久久久久软件 | 69无人区码一二三四区别| 欧美人与牲动交a欧美精品| 超碰97人人做人人爱少妇| 天天躁日日躁狠狠躁裸体| 国内精品久久久久久久小说| 亚洲无人区码一码二码三码区别| 美女图片禁欲系高级感| 办公室狂肉校花H陈舒| 天天做天天爱夜夜夜爽毛片 | 国产精品99久久久久久宅男| 亚洲AV日韩AV永久无码免下载| 久久精品国产男包| 999久久久免费精品国产| 日日噜噜噜夜夜爽爽狠狠| 国产调教性奴在线观看W| 亚洲性无码AV在线| 欧美性爱XXXX黑人| 国产成人亚洲精品无码综合原创| 亚洲AV无码兔费综合在线观看| 久久无码精品一区二区三区| PYTHON人马大战CSDN| 无码乱人伦一区二区亚洲一| 精品一区二区AV天堂| AV香港经典A毛片免费观看| 挺进邻居漂亮的娇妻| 久久AV无码AⅤ高潮AV喷吹| CHINA末成年VIDEO学生| 天堂8中文在线最新版官网| 精品久久亚洲中文字幕| 2021自拍偷在线精品自拍偷| 色欲AV蜜桃一区二区三| 韩国免费A级作爱片视频| 中文字幕亚洲综合久久2020| 色婷婷亚洲一区二区综合| 狠狠澡人人添人人爽人妻少妇 | 少妇爆乳无码专区| 精品久久久久久久久久中文字幕| 9LPORM自拍视频区九色| 无码人妻精品中文字幕免费东京热| 久久精品无码中文字幕| 产后漂亮奶水人妻| 亚洲国产欧美日韩精品一区二区三| 女同久久精品国产99国产精品| 国产极品美女高潮无套APP| 一本到高清视频在线观看丶| 三个人C了我半小时| 精品一区二区三区在线播放视频| 啊灬啊灬啊灬啊灬高潮了| 亚洲AV伊人久久综合密臀性色| 女人扒开的小泬高潮喷水小说| 国产精品高潮呻吟AV久久动漫| 中文在线А√天堂官网| 无码人妻一区二区三区免费N鬼沢 无码人妻一区二区三区免费AV | 日本精品久久久久中文字幕| 精东视频影视传媒制作|