sachinbaan
29th April 2014, 05:26
Hi,

I want to create XML where one tag is as below:

<Award_Status xsi:nil="true" /> .

I have written below code to achive this,

tempnode = "ProductionItemData_Offer"

xml_node = xmlNewNode(tempnode, XML_ELEMENT, xml_offer_node)

xml_child = xmlNewDataElement("Award_status", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

bhushanchanda
29th April 2014, 17:52
Hi,

What value does xml_offer_node have?

If its something like this:-


tempnode = "ProductionItemData_Offer"
xml_offer_node = xmlNewNode("New Node")
xml_node = xmlNewNode(tempnode, XML_ELEMENT, xml_offer_node)
xml_child = xmlNewDataElement("Award_status", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

Then, your code seems fine. I can see the required nodes in my xml_child.

sachinbaan
6th May 2014, 11:14
Hi ,

Let me give you a code snippet:


tempnode = "ProductionItemData_Offer"
xml_node = xmlNewNode(tempnode, XML_ELEMENT, xml_offer_node)
xml_child = xmlNewDataElement("OfferName", "OFFR0001", xml_node)
xml_child = xmlNewDataElement("Product_Item_Name_Offer", "91348305", xml_node)

xml_child = xmlNewDataElement("Award_status", XML_ELEMENT, xml_node)

xml_child = xmlNewDataElement("Reason_For_Loss", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

xml_child = xmlNewDataElement("Lost_to_Whome", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

xml_child = xmlNewDataElement("Lost_to_what_price", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

bhushanchanda
6th May 2014, 12:06
Hi,

Ok. So you just want a close (/) operator in the element. So what you can do is:-


If you write the following code:-

tempnode = "ProductionItemData_Offer"
xml_offer_node = xmlNewNode("New Node")
xml_node = xmlNewNode(tempnode, XML_ELEMENT, xml_offer_node)
xml_child = xmlNewNode("Award_status", XML_DTD , xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

You will get the attached snap. Just use the above code in your program.

sachinbaan
6th May 2014, 12:33
hi

just have look to below code


|******************************************************************************
|* ltctmprojxml 0 VRC B61O a9 cust
|* Project XML
|* 91348305
|* 14-04-28 [09:46]
|******************************************************************************
|* Script Type: 0
|******************************************************************************

#include <bic_desktop>
#pragma nowarnings
function main()
{

string path(400)
long dtdId, xml_node, xml_id,xml_child,fd,
xml_offer_node, xml_order_node, xml_work_node,
xml_cprj_node, xml_soline_node, xml_item_node,
xml_sprj_node, xml_subline_node, ret

string tempnode(20), ele(7)
path = bse.tmp.dir$() & "/file.xml"

dtdId = xmlNewNode("boEnquiryDetails",XML_DTD)
ret = xmlSetAttribute (dtdId, "xmlns:xsd", "http://www.w3.org/2001/XMLSchema" )
ret = xmlSetAttribute (dtdId, "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" )

xml_node = xmlNewNode("boEnquiryDetails")
xml_id = xmlAdd(dtdId,xml_node)
xml_child = xmlnewDataElement("Enquiry_Name", "Enquiry001", xml_node)
ret = xmlSetAttribute(xml_child, "xmlns" , "http://SALES/PCS.tws")
xml_child = xmlnewDataElement("MKTPersonPsNo", "91348305", xml_node)
ret = xmlSetAttribute(xml_child, "xmlns" , "http://SALES/PCS.tws")

tempnode = "OfferData"
xml_offer_node = xmlNewNode(tempnode, XML_ELEMENT, xml_id)
xml_child = xmlNewDataElement("OfferName", "OFFR0001", xml_offer_node)
xml_child = xmlNewDataElement("Enquiry_Name", "91348305", xml_offer_node)
xml_child = xmlNewDataElement("Offer_Revision", "Rev ", xml_offer_node)

tempnode = "ProductionItemData_Offer"
xml_node = xmlNewNode(tempnode, XML_ELEMENT, xml_offer_node)
xml_child = xmlNewDataElement("OfferName", "OFFR0001", xml_node)
xml_child = xmlNewDataElement("Product_Item_Name_Offer", "91348305", xml_node)


xml_node = xmlNewNode(tempnode, XML_ELEMENT, xml_offer_node)
xml_child = xmlNewNode("Award_status", XML_DTD , xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")


xml_child = xmlNewDataElement("Award_status", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

| xml_child = xmlNewNode("Award_status", XML_DTD , xml_node)
| ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

xml_child = xmlNewDataElement("Reason_For_Loss", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

xml_child = xmlNewDataElement("Lost_to_Whome", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

xml_child = xmlNewDataElement("Lost_to_what_price", XML_ELEMENT, xml_node)
ret = xmlSetAttribute(xml_child, "xsi:nil", "true")

tempnode = "OrderData"
xml_order_node = xmlNewNode(tempnode, XML_ELEMENT, xml_offer_node)
xml_child = xmlNewDataElement("Customer_Order", "ORDER011", xml_order_node)
xml_child = xmlNewDataElement("OfferName", "OFFR0001", xml_order_node)
xml_child = xmlNewDataElement("Enquiry_Name", "Enquiry001", xml_order_node)
xml_child = xmlNewDataElement("Order_Number", "ORD011 ", xml_order_node)
xml_child = xmlNewDataElement("Order_Date", "Today ", xml_order_node)
xml_child = xmlNewDataElement("Customer_LOI_Number", "LOI123 " , xml_order_node)
xml_child = xmlNewDataElement("Customer_PO_Number", "PO123 " , xml_order_node)
xml_child = xmlNewDataElement("Delivery_Terms", "7 Days " , xml_order_node)
xml_child = xmlNewDataElement("Payment_Terms", "Cash " , xml_order_node)
xml_child = xmlNewDataElement("Price_Remarks", "None " , xml_order_node)
xml_child = xmlNewDataElement("Offer_Feedback", "None " , xml_order_node)
xml_child = xmlNewDataElement("Order_Description", "None " , xml_order_node)

tempnode = "ProductionItemData_Order"
xml_node = xmlNewNode(tempnode,XML_ELEMENT, xml_order_node)
xml_child = xmlNewDataElement("Customer_Order", "ORD00111", xml_node)
xml_child = xmlNewDataElement("Offer_Name", "OFFR0011", xml_node)
xml_child = xmlNewDataElement("Product_Item_Name_Order", "ITEM001 ", xml_node)
xml_child = xmlNewDataElement("Awarded_Quantity", "35 ", xml_node)
xml_child = xmlNewDataElement("Total_Awarded_Price", "5860 ", xml_node)
xml_child = xmlNewDataElement("To_Currency", "INR ", xml_node)

tempnode = "orderWorkspaceData"
xml_work_node = xmlNewNode(tempnode, XML_ELEMENT, xml_order_node)
xml_child = xmlNewDataElement("Customer_Order", "ORD00111", xml_work_node)
xml_child = xmlNewDataElement("Enquiry_Name", "ENQU0001", xml_work_node)
xml_child = xmlNewDataElement("Order_WorkSpace_Name", "ONO00100", xml_work_node)
xml_child = xmlNewDataElement("Order_WorkSpace_Description", "None ", xml_work_node)
xml_child = xmlNewDataElement("PO_Receipt_Date", "Today ", xml_work_node)
xml_child = xmlNewDataElement("LOI_Date", "25-04-2014", xml_work_node)
xml_child = xmlNewDataElement("Contractual_Delivery_Date", "25-04-2014", xml_work_node)
xml_child = xmlNewDataElement("Zero_Date", "25-04-2014", xml_work_node)
xml_child = xmlNewDataElement("PIM_date", "25-04-2014", xml_work_node)
xml_child = xmlNewDataElement("Order_Workspace_Template_Name", "Sachin", xml_work_node)


tempnode = "ProjectData"
xml_cprj_node = xmlNewNode(tempnode, XML_ELEMENT, xml_order_node)
xml_child = xmlNewDataElement("Customer_Order", "ORD00111", xml_cprj_node)
xml_child = xmlNewDataElement("Project_Name", "P0413035", xml_cprj_node)
xml_child = xmlNewDataElement("Project_Template", "TEMPLATE", xml_cprj_node)
xml_child = xmlNewDataElement("Product_Item_Name", "Item ", xml_cprj_node)
xml_child = xmlNewDataElement("Project_Type", "Main ", xml_cprj_node)

tempnode = "SOLine_Data"
xml_soline_node = xmlNewNode(tempnode, XML_ELEMENT, xml_cprj_node)

tempnode = "Item"
xml_item_node = xmlNewNode(tempnode, XML_ELEMENT, xml_soline_node)
xml_child = xmlNewDataElement("Project_Name", "P0413035", xml_item_node)
xml_child = xmlNewDataElement("Part_Name", "Part", xml_item_node)
xml_child = xmlNewDataElement("Part_Description", "Desc ", xml_item_node)
xml_child = xmlNewDataElement("Revision", "Revn ", xml_item_node)
xml_child = xmlNewDataElement("Unit_Of_Measure", "kgs ", xml_item_node)
xml_child = xmlNewDataElement("Item_Group", "001 ", xml_item_node)
xml_child = xmlNewDataElement("Production_Make_By_Code", "MK001 ", xml_item_node)

tempnode = "Sub_Project_Data"
xml_sprj_node = xmlNewNode(tempnode, XML_ELEMENT, xml_cprj_node)

tempnode = "Item"
xml_item_node = xmlNewNode(tempnode, XML_ELEMENT, xml_sprj_node)
xml_child = xmlNewDataElement("Sub_Project_Name", "S0413035", xml_item_node)
xml_child = xmlNewDataElement("Project_Name", "P0413035", xml_item_node)
xml_child = xmlNewDataElement("Sub_Project_Template", "STempl ", xml_item_node)

tempnode = "SOLine_Sub_Data"
xml_subline_node = xmlNewNode(tempnode, XML_ELEMENT, xml_item_node)

tempnode = "Item"
xml_item_node = xmlNewNode(tempnode, XML_ELEMENT, xml_subline_node)
xml_child = xmlNewDataElement("Project_Name", "P0413035", xml_item_node)
xml_child = xmlNewDataElement("Part_Name", "Part", xml_item_node)
xml_child = xmlNewDataElement("Part_Description", "Desc ", xml_item_node)
xml_child = xmlNewDataElement("Revision", "Revn ", xml_item_node)
xml_child = xmlNewDataElement("Unit_Of_Measure", "kgs ", xml_item_node)
xml_child = xmlNewDataElement("Item_Group", "001 ", xml_item_node)
xml_child = xmlNewDataElement("Production_Make_By_Code", "MK001 ", xml_item_node)

|Open a file for write and store the XML document
fd = seq.open(path, "w" )
xmlWritePretty(fd, dtdId, 0 )
seq.close(fd)

fd = server2client(path, "d:\91348305\1.xml", true)
|Free the complete XML object from memory
xmlDelete(dtdId, 0)

}