2012-03-29 4 views
1

Вот код, который я пытался добавить узел в существующий XML,XML ДОБАВЛЕНИЕ НОВЫЙ ЭЛЕМЕНТ ВНУТРИ EXISTING XML

XmlDocument doc = new XmlDocument(); 
XmlNode root = doc.DocumentElement; 
XmlElement elem = doc.CreateElement("price"); 
doc.LoadXml("<Hotel><OptionNo>1</OptionNo><StayDateRange Start=\"15/04/2012\" End=\"17/04/2012\"/><Property Id=\"31461\" CityCode=\"666\" CityName=\"MUMBAI\" CountryCode=\"246\" CountryName=\"INDIA\" StateCode=\"7332\" StateName=\"Maharashtra\" StarRating=\"1\" Chain=\"\" Status=\"Available\" HotelName=\"Airlines International Hotel\" Preferred=\"Yes\" BuiltYear=\"\" RenovationYear=\"\" NoOfFloors=\"\" Location=\"YOGA INSTITUTE RD,PRABHAT COLONY,SANTACRUZ(E),MUMB Mumbai\" MinimumRate=\"4733.43\" Currency=\"INR\"><Address><Address1>YOGA INSTITUTE RD,PRABHAT COLONY,SANTACRUZ(E),MUMB Mumbai</Address1><Address2/><CityCode>666</CityCode><CountryCode>246</CountryCode><PostalCode>400055</PostalCode><CityName>MUMBAI</CityName></Address><Description Name=\"Comprising of 27 rooms in total, this small budget hotel is clean and comfortable, making it the ideal choice for both business and leisure travellers. Fully air-conditioned, it features a 24-hour reception, currency exchange facilities, lift access and an on-site restaurant. Room and laundry services are also available.\" Url=\"\"/><GeoCode Code=\"\" longitude=\"\" latitude=\"\"/><Images><HotelFrontImage Url=\"\"/><Room Url=\"\"/></Images><OtherHotelImages/><Features/><Transportation/><Attractions/></Property><Rooms><Room NumberOfRooms=\"1\" RoomId=\"4511\" Description=\"Double Room\" Twin=\"No\" SupplierCode=\"HP\" SupplierId=\"4\" PropertyId=\"31461\" ExtraBed=\"0\" RateBasis=\"0\" Type=\"Double\"><Rate Id=\"4511\" Currency=\"INR\" Gross=\"9466.86\" Net=\"9466.86\" Tax=\"0\" ExtraGuestCharge=\"0.00\" AdultCount=\"2\" AdultRate=\"\" ChildCount=\"0\" ChildRate=\"\" Description=\"Bed and Breakfast\" Status=\"Available\" AllocationDetails=\"OC-84296147\"><Nights><Night Date=\"1\" Gross=\"4733.43\" Net=\"4733.43\" Tax=\"0.00\" AdultCount=\"2\" AdultRate=\"0\" ChildCount=\"0\" ChildRate=\"0\" ExtraGuestCharge=\"0\" BookedDate=\"15/04/2012\" FreeStay=\"\" RateSupplierId=\"1\" Status=\"Available\"/><Night Date=\"2\" Gross=\"4733.43\" Net=\"4733.43\" Tax=\"0.00\" AdultCount=\"2\" AdultRate=\"0\" ChildCount=\"0\" ChildRate=\"0\" ExtraGuestCharge=\"0\" BookedDate=\"16/04/2012\" FreeStay=\"\" RateSupplierId=\"1\" Status=\"Available\"/></Nights><MinStay/><DateApplyMinStay/><CancellationRules>Please see the cancellation rules</CancellationRules></Rate><Ages/><Amenities/></Room></Rooms></Hotel>"); 
root = doc.DocumentElement; 
elem = doc.CreateElement("OtherHotelImage"); 
elem.InnerText = "URL"; 
root.AppendChild(elem); 
doc.Save(Console.Out); 

Я пытался добавить новый узел в указанном XML, который находится внутри <OtherHotelImages> элемента. но он создается внутри корневого элемента, который равен <Hotel>. Пожалуйста, предложите, это срочно.

+1

Пожалуйста, не используйте капители в стойках - это считается криком. – JTeagle

ответ

0

Вы вызываете root.AppendChild() ... так что да, он входит в корень. Вам нужно пройти дерево XML до тех пор, пока не найдете нужный элемент - и , затем добавьте новый элемент в , который.

+2

Можете ли вы предложить мне, как это сделать? любой пример или URL-адрес? – Sujit

+0

Посмотрите на GetElementsByTagName(): http://msdn.microsoft.com/en-us/library/dc0c9ekk.aspx - это может привести к вам список тегов OtherHotelImages (список один, если это единственное вхождение). – JTeagle

Смежные вопросы