Asp парсинг XML

Это скорее ответ на python, чем ответ Flask / werkzeug; но это просто и работает.

Если, как и я, вы хотите, чтобы настройки вашего приложения (загруженные из файла .ini) также содержали префикс вашего приложения Flask (таким образом, чтобы не устанавливать значение во время развертывания, но во время выполнения) вы можете выбрать следующее:

def prefix_route(route_function, prefix='', mask='{0}{1}'):
  '''
    Defines a new route function with a prefix.
    The mask argument is a `format string` formatted with, in that order:
      prefix, route
  '''
  def newroute(route, *args, **kwargs):
    '''New function to prefix the route'''
    return route_function(mask.format(prefix, route), *args, **kwargs)
  return newroute

Возможно, это несколько хакерское и полагается на то, что функция маршрута колбы требует a route в качестве первого позиционного аргумента.

Вы можете использовать его следующим образом:

app = Flask(__name__)
app.route = prefix_route(app.route, '/your_prefix')

NB: ничего не стоит, что можно использовать переменную в префиксе (например, установив его на /<prefix>), а затем обработайте этот префикс в тех функциях, которые вы украшаете своим @app.route(...). Если вы это сделаете, вам, очевидно, нужно объявить параметр prefix в вашей украшенной функции. Кроме того, вы можете проверить представленный префикс на некоторые правила и вернуть 404, если проверка завершилась неудачно. Чтобы избежать 404 пользовательской повторной реализации, пожалуйста, from werkzeug.exceptions import NotFound, а затем raise NotFound(), если проверка завершилась неудачно.

5
задан casperOne 19 November 2011 в 02:54
поделиться

3 ответа

Необходимо читать о синтаксическом анализаторе MSXML. Вот является ссылка на хороший единый пример http://oreilly.com/pub/h/466

Некоторое чтение на XPath поможет также. Вы могли получить всю информацию, в которой Вы нуждаетесь в MSDN.

Кража кода от Luke превосходный ответ в целях агрегирования:

Dim oXML, oNode, sKey, sValue

Set oXML = Server.CreateObject("MSXML2.DomDocument.6.0") 'creating the parser object
oXML.LoadXML(sXML) 'loading the XML from the string

For Each oNode In oXML.SelectNodes("/user_data/person_info/attribute")
  sKey = oNode.GetAttribute("name")
  sValue = oNode.Text
  Select Case sKey
    Case "execution_status"
    ... 'do something with the tag value
    Case else
    ... 'unknown tag
  End Select
Next

Set oXML = Nothing
9
ответ дан 18 December 2019 в 12:03
поделиться

Вы могли попытаться загрузить xml в объект XMLDocument и затем проанализировать его использование, это - методы.

0
ответ дан 18 December 2019 в 12:03
поделиться

ASP я предполагаю, что Вы имеете в виду Классика ASP? Попробуйте:

Dim oXML, oNode, sKey, sValue

Set oXML = Server.CreateObject("MSXML2.DomDocument.4.0")
oXML.LoadXML(sXML)

For Each oNode In oXML.SelectNodes("/user_data/person_info/attribute")
  sKey = oNode.GetAttribute("name")
  sValue = oNode.Text
  ' Do something with these values here
Next

Set oXML = Nothing

Вышеупомянутый код предполагает, что у Вас есть свой XML в переменной, названной sXML. При потреблении этого через запрос ServerXMLHttp необходимо смочь использовать свойство ResponseXML объекта вместо oXML выше и пропустить шаг LoadXML в целом.

6
ответ дан 18 December 2019 в 12:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: