2010-08-29 10 views
5

मैं इस संरचना को कैसे पार्स करूं? मुझे इसे एक चर में बदलने की जरूरत है। जैसे गुण संरचना से:पार्सिंग CFDUMP संरचना और स्टोर मूल्य

name 

type 

value 

मैं संरचनाओं से परिचित नहीं हूं, और मुझे इस प्रकार के डेटा को डेटाबेस में दर्ज करने की आवश्यकता है।

मैंने cfloop के साथ खेला है, लेकिन कुछ भी नहीं।

cfdump

+0

आप इस डेटा को डेटाबेस में कैसे संग्रहीत करना चाहते हैं? जैसे उद्देश्य क्या है। –

उत्तर

6

अपने चर नाम मान लिया जाये कि "foo" है, तो आप इस

foo.attributes.name 

संरचनाएं जैसे नाम का उपयोग कर सकते बस डॉट नोटेशन के माध्यम से पहुंचा जा सकता है।

1

आप बस इस संरचना डंप करना चाहते हैं, एक सरल एक्सएमएल का उपयोग करें और एक CLOB या ब्लॉब क्षेत्र में संग्रहीत। लेकिन यदि आप खोज जैसे संचालन करना चाहते हैं, डेटा में लगातार परिवर्तन, तो बेहतर है कि आप वृक्ष संरचनाओं पर विचार करें।

यदि आप ओरेकल का उपयोग कर रहे हैं, तो CONNECT BY PRIOR, पर एक नज़र डालें, इससे आपको पंक्तियों के रूप में सीधे डेटाबेस में मूल्यों को स्टोर किया जाता है और बाद में उन्हें क्वेरी और पेड़ संरचना में लोड किया जाता है।

यहां यह जानकारी है कि आपको डेटा को स्टोर और पुनर्प्राप्त करने में सक्षम होना चाहिए जैसे कि आप एक साधारण ट्री डेटा संरचना से निपट रहे हैं।

+0

अच्छी तरह से प्रत्येक फ़ील्ड को एक चर के रूप में प्राप्त करने का कोई तरीका है ??? मैं एक फ़ंक्शन का उपयोग कर रहा हूं जो आपके द्वारा देखे जाने वाले इनपुट को पार करता है, अब मुझे केवल परिणामों की आवश्यकता है ताकि मैं उनके साथ काम कर सकूं। यह फ़ंक्शन स्थित है http://www.bennadel.com/blog/779- पारसिंग- HTML-Tag-Data-Into-A-ColdFusion-Structure.htm – loo

0

बेन ने जो कहा, वही लाइनों के साथ, मुझे यकीन नहीं है कि आप इस अच्छी छोटी संरचना को अलग क्यों करना चाहते हैं। इसे अपने मौजूदा रूप में इसे अलग करने के बजाय इसके अंदर के मूल्यों का उपयोग करके इसका उपयोग करें।

<cfloop collection="#foo.attributes#" item="myKey"> 
    <cfoutput>Value of #myKey# is #structFind(foo.attributes, myKey)#</cfoutput> 
</cfloop> 

अधिक जानकारी के लिए LiveDocs' structure looping page का संदर्भ लें।

संबंधित मुद्दे