คำถามติดแท็ก xquery

3
เชื่อมค่าทั้งหมดขององค์ประกอบ XML เดียวกันโดยใช้ XPath / XQuery
ฉันมีค่า XML ดังนี้: <R> <I>A</I> <I>B</I> <I>C</I> ... </R> ฉันต้องการที่จะเชื่อมทุกค่าและพวกเขากลับเป็นสตริงเดียว:IABC... ตอนนี้ฉันรู้แล้วว่าฉันสามารถทำลาย XML, รวมผลลัพธ์กลับเป็น XML แบบไม่มีโหนดและนำ.values('text()[1]', ...)ไปใช้กับผลลัพธ์: SELECT ( SELECT n.n.value('text()[1]', 'varchar(50)') AS [text()] FROM @MyXml.nodes('/R/I') AS n (n) FOR XML PATH (''), TYPE ).value('text()[1]', 'varchar(50)') ; อย่างไรก็ตามฉันต้องการทำทุกอย่างที่ใช้วิธี XPath / XQuery เท่านั้นสิ่งนี้: SELECT @MyXml. ? ( ? ); มีวิธีดังกล่าวหรือไม่? เหตุผลที่ฉันกำลังมองหาวิธีแก้ปัญหาในทิศทางนี้เป็นเพราะ XML …

4
แก้ไข XML: คุณสมบัติเป็นองค์ประกอบ
ฉันมีXMLคอลัมน์ที่มีข้อมูลที่มีโครงสร้างคล้ายกัน: <Root> <Elements> <Element Code="1" Value="aaa"></Element> <Element Code="2" Value="bbb"></Element> <Element Code="3" Value="ccc"></Element> </Elements> </Root> ฉันจะแก้ไขข้อมูลโดยใช้ SQL Server เพื่อเปลี่ยนแต่ละValueแอตทริบิวต์เป็นองค์ประกอบได้อย่างไร <Root> <Elements> <Element Code="1"> <Value>aaa</Value> </Element> <Element Code="2"> <Value>bbb</Value> </Element> <Element Code="3"> <Value>ccc</Value> </Element> </Elements> </Root> ปรับปรุง: XML ของฉันมีลักษณะเช่นนี้: <Root attr1="val1" attr2="val2"> <Elements> <Element Code="1" Value="aaa" ExtraData="extra" /> <Element Code="2" Value="bbb" ExtraData="extra" …
11 sql-server  xml  xquery 

2
ส่งคืนลำดับ xml ที่แอตทริบิวต์ไม่มีอักขระเฉพาะ
พิจารณา XML อย่างง่ายต่อไปนี้: <xml> <customer name="Max"> <email address="me@you.com" /> </customer> <customer name="Erik"> <email address="erik@your-mom.com" /> </customer> <customer name="Brent"> <email address="brentcom" /> </customer> </xml> ฉันต้องการที่จะได้รับรายชื่อของ<Customer>ลำดับที่addressแอตทริบิวต์ของ<email>รายการไม่ได้@ประกอบด้วย ดังนั้นฉันต้องการผลลัพธ์ที่ดูเหมือน: <customer name="Brent"> <email address="brentcom" /> </customer> mcve : DECLARE @x XML = '<xml> <customer name="Max"><email address="me@you.com" /></customer> <customer name="Erik"><email address="erik@your-mom.com" /></customer> <customer name="Brent"><email address="brentcom" /></customer> …
10 sql-server  xml  xquery 

1
แทนที่ค่าขององค์ประกอบ xml ที่พิมพ์อย่างยิ่งใน SQL Server ด้วย XQuery
ได้รับองค์ประกอบที่กำหนดไว้ภายในคอลเลกชัน XML Schema ดังกล่าว: <xsd:element name="xid"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="32" /> </xsd:restriction> </xsd:simpleType> </xsd:element> คุณจะอัพเดทองค์ประกอบโดยใช้ XQuery อย่างไร องค์ประกอบที่พบในnamespace nsในคอลเลกชันคี ฉันพยายามอัปเดตองค์ประกอบข้อความค้นหาด้านล่าง: update cm.item set data.modify( 'declare namespace ns="http://www.anon.com"; replace value of (/ns:*/ns:xid)[1] with "X00011793" cast as element(ns{http://www.anon.com}:xid,#anonymous) ?') where id = 11793 แต่สิ่งนี้สร้างข้อผิดพลาดต่อไปนี้: ข่าวสารเกี่ยวกับ 9301, ระดับ 16, สถานะ 1, บรรทัดที่ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.