Синтаксический анализ jQuery Mobile PhoneGap XML (iOS) - PullRequest
1 голос
/ 27 марта 2012

Я использую PhoneGap, мобильный телефон jQuery в Xcode.У меня есть локальный XML-файл (data.xml) со следующими данными

<?xml version="1.0" encoding="utf-8" ?>
<RecentTutorials>
<Tutorial author="The Reddest">
    <Title>Silverlight and the Netflix API</Title>
    <Categories>
        <Category>Tutorials</Category>
        <Category>Silverlight 2.0</Category>
        <Category>Silverlight</Category>
        <Category>C#</Category>
        <Category>XAML</Category>
    </Categories>
    <Date>1/13/2009</Date>
</Tutorial>
<Tutorial author="The Hairiest">
    <Title>Cake PHP 4 - Saving and Validating Data</Title>
    <Categories>
        <Category>Tutorials</Category>
        <Category>CakePHP</Category>
        <Category>PHP</Category>
    </Categories>
    <Date>1/12/2009</Date>
</Tutorial>
<Tutorial author="The Tallest">
    <Title>Silverlight 2 - Using initParams</Title>
    <Categories>
        <Category>Tutorials</Category>
        <Category>Silverlight 2.0</Category>
        <Category>Silverlight</Category>
        <Category>C#</Category>
        <Category>HTML</Category>
    </Categories>
    <Date>1/6/2009</Date>
</Tutorial>
<Tutorial author="The Fattest">
    <Title>Controlling iTunes with AutoHotkey</Title>
    <Categories>
        <Category>Tutorials</Category>
        <Category>AutoHotkey</Category>
    </Categories>
    <Date>12/12/2008</Date>
</Tutorial>

И у меня есть следующий код в моем HTML-файле:

<script type="text/javascript">
            $(document).ready(function()
            {
            $.ajax({
            type: "GET",
            url: "data.xml",
            dataType: "xml",
                   success: function(xml){
                   $(xml).find("Tutorial").each(function()
                                                {

                                $("#output").append($(this).attr("author") + "<br />");
                                                });


                   }
            });
            });

            </script>


            <script type="text/javascript">
                function parseXml(xml)
                {

                    $(xml).find("Tutorial").each(function()
                                                 {
                                                 $("#output").append($(this).attr("author") + "<br />");
                                                 });


                }    
            </script>


</head> 

<body> 
    <div data-role="page">

        <div data-role="header" data-position="fixed">
            <h1>The title</h1>
        </div><!-- /header -->

        <div data-role="content" id="output">

  <--!  XML DATA SUPPOSED TO BE DISPLAYED HERE BUT I GOT NOTHING HERE  -->

        </div><!-- /content -->

        <div data-role="footer" data-position="fixed">
            <h4>The Footer</h4>
        </div><!-- /header -->
    </div><!-- /page -->
</body>

Я использую Xcode для вывода в симуляторе iPhone, и он не отображает ничего внутри содержимого, которое должно отображаться.

Где я допустил ошибку или мне нужен сторонний xml-парсер?

Любые предложения могут помочь.Спасибо

1 Ответ

0 голосов
/ 28 марта 2012

Я нашел решение для этого, и оно отлично сработало для меня.Вместо использования

$(document).ready(function() {

});

я написал следующее:

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>

<script>
$(document).bind("mobileinit", function() {

// AJAX code goes here

});
<script>

<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-
1.0.min.js"></script>

Важно отметить, что этот код должен находиться между связью jquery-core и jquery-mobile, как я делал выше.

...