1

xslt に基づいて html を xml に変換できるソリューションを探しています。例えば:

html:[これは ektron (CMS) からの html です]

<p>Name:&#160;<input type="text" name="txtName" id="txtName" ektdesignns_caption="txtName" ektdesignns_name="txtName" title="txtName" ektdesignns_indexed="false" ektdesignns_nodetype="element" style="" size="24" class="design_textfield" value="Enter Name" />&#160;
</p>

<p>Age:<input type="text" name="txtAge" id="txtAge" ektdesignns_caption="txtAge" ektdesignns_name="txtAge" title="txtAge" ektdesignns_indexed="false" ektdesignns_nodetype="element" style="" size="24" class="design_textfield" />&#160;</p>

<p>Place:<input type="text" name="txtPlace" id="txtPlace" ektdesignns_caption="txtPlace" ektdesignns_name="txtPlace" title="txtPlace" ektdesignns_indexed="false" ektdesignns_nodetype="element" style="" size="24" class="design_textfield" />&#160;</p>

<p>&#160;Sex:<select name="rbSex" ektdesignns_maxoccurs="1" size="1" id="rbSex" ektdesignns_caption="rbSex" ektdesignns_name="rbSex" title="rbSex " ektdesignns_indexed="true" ektdesignns_nodetype="element" style="">
    <option selected="selected" value="0">(Select)</option>
    <option value="Male">Male</option>
    <option value="Female">Female</option>
    </select><span style="font-size: 12px; line-height: 0;">&#160;</span><br /><br />&#160;</p>

対応する XSLT が手元にあります。

これらの両方から、次のような XML が必要です

<root>
  <txtName>DemoName</txtName>
  <txtAge>21</txtAge>
  <txtPlace>UK</txtPlace>
  <rbSex>Female</rbSex>
</root>

この機能を実行するアプリケーション XMLWrench を見つけましたが、API などのような C#.net ソリューションが必要です。

編集 II:フォームにも値が必要で、xml に追加する必要があります。

4

3 に答える 3

3

smartform 構成 html の html について質問している場合は、次の方法を使用できます。

ContentDesignerWithValidator.ascx の LoadPackage(m_refContApi, editorPackage) および TransformXsltPackage メソッドを使用して、html を xml に変換します。このページは /Workarea/controls/Editor/ContentDesignerWithValidator.ascx にあります。

これを試して。

于 2013-03-28T09:56:47.433 に答える
2

Ektronを使用している場合は、SmartFormを使用できます。これにより、コンテンツエディターのWebフォームUIを作成できますが、データはXMLとして保存されます。XMLにアクセスするには、ContentDataオブジェクトを取得するだけで、オブジェクトのhtmlプロパティがXMLであることがわかります。

于 2013-03-08T16:37:01.157 に答える
1

本当に HTML -> XML ページに移動する必要がある場合は、HTML パーサーを使用して、プログラムで XML を作成します。または、これを行う場合は、XSLT/XML ステージをスキップして、出力 XML を構築するだけです。

ただし、この質問は間違ったアプローチを使用していることを示唆しており、Charles Wesley の回答に同意します- スマートフォームを使用してください。Ektron HTML フォームは、単純なデータ収集用であり、データを Excel にエクスポートできれば十分です (単純なサ​​インアップ フォームなど)。

スマート フォームは XML として保存されます。Ektron API を介してスマート フォームを作成できます。

Smart Forms と Ektron HTML フォームの組み合わせに関するeGandalf のブログ記事は、役に立つかもしれません。

コメントに応じて編集 - 間違った道をたどり、Ektron に対抗しようとしているように思えます。多分APIを見てみませんか?たとえば、カレンダー アイテムの場合は、カレンダー APIを使用できます。

あなたは、 「Ektron が実際に行う方法にもっと似た」解決策を望んでいるとコメントしています。Ektron は XSLT を使用して XML を HTML に変換しますが、その逆ではありません。構造化データを XML として取得するには、Smart Forms または API を使用する必要があります。HTML コンテンツは、変換を必要としないか、最小限に抑える必要があります (HTML の変換が必要な場合、XSLT は解決策ではありません)。

フォーム送信をスマート フォームとして保存する方法については、 eGandalf のブログ投稿をお読みください。これはあなたの状況をカバーしていると思います。

于 2013-03-11T03:16:34.823 に答える