How Deep Can You Dive?

Posted at : Apr/18/2008
889 Views

Bayangkan jika anda mempunyai sebuah file xml yang element-elementnya memiliki kedalaman (sibling node) yang cukup nested...lalu bagaimana caranya kalau kita ingin melakukan update element tertentu pada element yang berada pada node yang paling dalam? Pake XPath? Pake XmlDocument? Jawabannya tentu tidak...ga terbayangkan kalau kita melakukannya menggunakan kedua class tersebut. Lalu pake apa? Ya...seperti yang anda sudah tahu semua, pake LINQ to XML...update nodenya pake XML Literal dong :)

Ok...misalkan saya punya sebuah file xml seperti ini :

kemudian saya ingin update / menambahkan "Answer" node pada element "AnswerList" yang terdapat pada parent element "Property" untuk "SubCategory" element dengan attribut "Name" = "" dan "Category" element dengan atribut "Name" = "Genset-A"...(mendsekripsikannya aja susah :) )...sekarang saya hanya ingin memperlihatkan potongan code nya saja langsung untuk membuktikan how powerfull Linq to XML, LambdaExpression, and  XML Literal in VB 9.0...

schemaContent.Find(Function(item) item...<Category>.@Name.Equals( _
            ddlAvailableCat.Text) AndAlso item...<SubCategory>.@Name.Equals( _
            ddlAvailableSubCat.Text))...<Property>.Where( _
            Function(name) name.<Name>.Value.Equals( _
            CStr(ViewState("propselected")))).<AnswerList>(0).Add( _
            From answer In listToUpdate(0).AnswerList _
            Select <Answer>
                       <%= answer %>
                   </Answer>)

        schemaContent(0).Save("c:/test.xml")
        System.Diagnostics.Process.Start("c:/test.xml")

 

Variabel schemaContent merupakan Generic List(Of System.Xml.Linq.XElemant) yang diambil dari kolom yang disimpan dengan tipe data xml di database SQL Server 2005,  dan hasilnya dapat anda lihat pada gambar dibawah ini :

Ok...segitu saja (Udah mumet nih)...jangan terlalu banyak ngoding ah ...so How Deep Can You Dive with your own code :p ?


ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Co-Founder & IT Trainer at Native Enterprise | Microsoft Azure Data Scientist | IBM RAG & Agentic AI | IBM Data Science & Data Analyst | Python Certified (PCEP, PCAP) | MOS, MTA, Xamarin Certified, ex MCT | ex MVP

CERTIFICATIONS

Microsoft Certified Associate
IBM RAG and Agentic AI Professional
IBM Data Science Professional IBM Data Analyst Professional
PCAP Associate Python Programmer Certified PCEP Entry Level Python Programmer Certified
Xamarin Certified
MOS 2007
MCPD MCTS
MCAD.NET

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  X Twitter Facebook  Instagram  LinkedIn

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2026   Rully Yulian MF   All rights reserved.